#dev-chat

1 messages · Page 13 of 1

severe shell
#

It is

keen pier
#

Thank you. I'll give it a go

hearty bane
#

i ended up writing an API server to do what i wanted rather than trying to implement state management in various custom commands lol

keen pier
#

I guess I should ask. If you wanted twitch chat to not say Streamelements, you had to create another channel name and create a custom name etc. is there an easier way now?

severe shell
#

That didn't change

keen pier
#

I have the old channel I used it for from before, but they made it difficult... :/

hearty bane
#

how does one set the chatbot to use one's own channel name?

#

i don't see that setting

keen pier
#

Not at all. I shut it down two years ago. I was a competitive player and was burnt out. Now I want to rebuild from scratch (same channel), but take things way slower now.

severe shell
keen pier
#

We will see. I peaked at 60k. Had it pretty good for a while. Now I have 1400. With a handful of active viewers. Gotta long road ahead, but I've missed it. So, here's hoping!

hearty bane
#

is it possible to privatize the custom commands list? i don't want to expose a custom api url

#

nm, apparently it strips that out for everyone but me. 👍

severe shell
hearty bane
#

i actually do want that available as long as it's not exposing the api url

severe shell
#

The command will be available to use, but if any of your mod types "!cmd show YOUR_COMMAND", it will show "This command is hidden" on the chat as well.

jovial vessel
#

Does anyone know how to do this ? Like there is an automatic system where viewer use !clip command in YouTube live stream and nightbot response like
Clipped successfully by xyz you can see these clips in xyz link
And there is an bot or app that upload these clips in a specific channel of discord

severe shell
outer otter
#

Does anyone know if the new Elements widget support multistreaming? For example if I have one element which handles the chat for my profile on twitch, if on my SE account the youtube channel is linked too, I get the message event from youtube too? If it's already working for someone, is there something I need to do to allow multiple chat from multiple platforms? Or this is not an intended feature and I have to find a workaround

#

I added two different elements in the two different profiles, one on twitch and the other on youtube (se profiles) and they work for each platform, but is there a way to get the chat event on the same element from two platforms?

jovial vessel
knotty flax
outer otter
#

It would be fantastic if already integrated within SE

#

this library can also show more stuff than a simple message

#
   author: {
      name: string
      thumbnail?: ImageItem
      channelId: string
      badge?: {
         thumbnail: ImageItem
         label: string
      }
   }
   message: MessageItem[]
   superchat?: {
      amount: string
      color: string
      sticker?: ImageItem
   }
   isMembership: boolean
   isVerified: boolean
   isOwner: boolean
   isModerator: boolean
   timestamp: Date
}
outer otter
#

If someone needs multistream events
ok back on this, actually this can't work only with a browser context (using some libraries that fetch data from the channel), I would need a server running because of CORS policies.

My solution is to create an element, named "youtubeProxy" for my youtube linked profile and I add that element to my obs scene like a normal one. The code for this one is this:

export class ChatProxy {
    private readonly broadcastChannel = new BroadcastChannel('chat-proxy');

    constructor() {
        window.widget.events.on('chatEventReceived', (event: ChatEventPayload) => {
            this.broadcastChannel.postMessage(event)
        });

        this.broadcastChannel.postMessage("ChatProxy is ready");
    }
}
#

Then I would have my overlay which is the complete chat stuff and it would listen to this broadcast channel, which is a way to communicate with the browser within the same origin, here's the example

 window.widget.events.on('chatEventReceived', (event: ChatEventPayload) => {
            let {connectedPlatform, chatMessage} = event;
            this.processMessageEvent(connectedPlatform, chatMessage);
        });

        this.broadcastChannel.onmessage = (event) => {
            console.log("ChatWidget (PROXY) received message", event);
            let eventPayload = event.data as ChatEventPayload;
            let {connectedPlatform, chatMessage} = eventPayload;
            this.processMessageEvent(connectedPlatform, chatMessage);
        };
#

and this actually works even for other events for any platform

severe shell
steel star
#

I've done a few discord searches (heh, as great as they are) regarding multistream (which has been working pretty good!) and more options (re: Bitrates) for TikTok specifically. I know its not available now but I was wondering if it was on a roadmap perhaps? Thanks!

severe shell
opal ether
#

I saw a stream having peoples Fortnite rank show up on their screen when people subscribed and they used SE to do so. How does one do this type of feature?

forest bison
#

Good afternoon everyone, I am currently creating a custom TTS. What other options besides speechSynthesis are available for TTS? Thanks in advance

regal steppe
#

Can somebody just enlighten me something about the Elements beta? I have the Hello World files, but I'm really confused about composite fields. Are they the recommended method for injecting HTML into the widget or can I just modify the included HTML file? I'm trying to create my first widget based on the combined chat feature, and it seemed like a better choice than trying to shoehorn in extra chats in an overlay

marble pawn
#

Where would I direct questions about loyalty and chat bot commands ( specifically the !givepoints command )

severe shell
severe shell
severe shell
analog kelp
#

So I'm guessing SE doesn't like giving out oauth access? It's been two months since I put in my request and have heard absolutely nothing since.

severe shell
winged finch
#

Dude, every time I open up stream elements my shit’s not right it’s all messed up. It’s like I got over from the beginning every time.

heady minnow
#

Hello everyone, I have a problem with the multi chat. Kick is already available but I don't get a single message, in the plugin it reflects the two platforms, Twitch and Kick, but I only get the messages from Twitch and Kick doesn't get a single one. I already logged out and started again but the problem continues. Some help since in another multichat panel that I have there if I get all the messages.

arctic heron
#

Hi I'm new here and was recommended to try here for some help. I'm working on a widget for a money goal that includes bits, subs, and donations. I was able to get this set up and working with some trial and error but I've run into another snag. I want to have an evolving image that changes for each goal I have set. What would be the best way for my to use streamelements insert image file for each goal that changes when the goal updates to the next goal? I'm new to learning all of this so I'm sorry if my explanation isn't great

potent halo
#

Uh reverse that, img should be at opacity 0 and active on opacity 1 of course

arctic heron
potent halo
arctic heron
#

I appreciate it so much! thanks

#

Do you know if there is a way to allow the image position to be moved but as a group?

potent halo
#

Either move the whole overlay or put all images in a div and move the div

#

top: ...px and left: ...px

arctic heron
#

thanks!

potent halo
#

can also be done with translate property, if you only want visual movement

arctic heron
#

🙃

hardy walrus
#

Hold that though lucas

potent halo
#

Yeah yeah i'll send it in dms

hardy walrus
#

I got it

potent halo
#

it's placebeard i guess

hardy walrus
#
<div id="overlayed-images">
  <img id="color-beard" src="https://placebeard.it/640/480" class="one-image active"/>
  <img id="gscale-beard" src="https://placebeard.it/g/640/480" class="one-image"/>
</div>
#overlayed-images {
  left: 0px;
  top: 0px;
}

.one-image {
  display: block;
  opacity: 0;
  position: absolute;
  transition: opacity 1s ease-in-out;
}

.one-image.active {
    opacity: 1;
}
let isColored = true;
let colorBeard = document.getElementById("color-beard");
let gscaleBeard = document.getElementById("gscale-beard");

setInterval(() => {
    if (isColored) {
        colorBeard.classList.remove("active");
        gscaleBeard.classList.add("active");
        isColored = false;
    } else {
        colorBeard.classList.add("active");
        gscaleBeard.classList.remove("active");
        isColored = true;
    }
}, 3000);

#

It got whitelisted on first go so you got lucky.

potent halo
hardy walrus
#

Fk that

potent halo
#

Anyway.. It'll be a bit mor complicated if you have a dynamic amount of images

hardy walrus
#

Code block noping with extra tick.

arctic heron
#

I appreciate the help!

potent halo
strong stratus
#

Hello! I would like to ask for your help, I want to be able to display streamelements store points on my site, I need some help with how it works, and what APIs are needed for it.
Thank you!

severe shell
strong stratus
#

I'll describe it more precisely, the point is that I want to appear on the navbar itself, the point of someone who logs in to Twitch with their Twitch username

#

and everything works with php @severe shell

potent halo
#

So nothing with points then? Just logging in with twitch and displaying their profile pic?

strong stratus
#

No, they log in with Twitch and report anything that has a point to the streamelements store.

severe shell
strong stratus
#

You can see the point here, right? And if you log in with your own user, your point will appear on the page.

severe shell
strong stratus
#

This code is more transparent, so it's correct if I include the APIs or what API I should write.
<?php
session_start();
require_once 'TwitchOAuth.php';

// Ha mĂĄr be van jelentkezve, a session-bĂłl lekĂ©rjĂŒk az adatokat
$user_info = isset($_SESSION['user_info']) ? $_SESSION['user_info'] : null;
$points = null;

// STREAM ELEMENTS API BEÁLLÍTÁSOK
define('STREAM_ELEMENTS_API_KEY', ''); // IDE ÍRD BE A SAJÁT API KULCSOD!
define('CHANNEL_ID', ''); // IDE ÍRD BE A TWITCH CSATORNA ID-JÉT!

// EllenƑrizzĂŒk, hogy lĂ©tezik az access_token
if ($user_info && isset($user_info['id'])) {
$userId = $user_info['id']; // Twitch felhasznĂĄlĂł ID-ja
$points = getStreamElementsPoints($userId); // StreamElements pontok lekérése
} else {
$points = "Nincs adat";
}

// API hívås a pontok lekérésére
function getStreamElementsPoints($userId) {
$channelId = CHANNEL_ID; // A csatorna numerikus ID-ja
$apiKey = STREAM_ELEMENTS_API_KEY; // Az API kulcs
// Az URL helyes formĂĄzĂĄsa
$url = "https://api.streamelements.com/kappa/v2/points/{$channelId}/{$userId}";

$headers = [
    "Authorization: Bearer " . $apiKey,  // Az API token
    "Content-Type: application/json"
];

// cURL kérés az API-hoz
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);  // HTTP ståtuszkód lekérése
curl_close($ch);

// HibĂĄk esetĂ©n kiĂ­ratjuk a vĂĄlaszt Ă©s a hibaĂŒzenetet
//if ($response === false || $http_code !== 200) {
    //return "Hiba történt: " . curl_error($ch) . " (HTTP kód: " . $http_code . ") - URL: " . $url;

// }

?>

severe shell
strong stratus
#

I see, so can you tell me why it's not showing up or what I should fix?
@severe shell

severe shell
strong stratus
#

How can I find the channel ID? Or is this the sweet channel ID?

severe shell
strong stratus
#

I have the channel ID, how can I import this into the code? Can you help me with this?

severe shell
#

Just replace it where it says CHANNEL_ID, I believe.
$channelId = CHANNEL_ID; // A csatorna numerikus ID-ja

strong stratus
#

I have this but it doesn't show on the page

severe shell
#

Also, the Twitch user id shouldn't be used in Streamelements API, as it uses the username or streamelements channel id (for that user).

strong stratus
#

Well thank you very much

#

They work

#

ty

finite crater
#

Hi, I have a question about the chat overlay. I have mine set to have messages fade after 30 seconds. I was wondering if there was a way for it to have a background that also fades rather than just have an empty box.

potent halo
#

Also.. A lot of custom chat widgets do that by default

finite crater
finite crater
#

Yup. SE support told me to check this channel or that one. I'll have a look around later. I just don't want to have an empty box floating around if I'm playing a bright game haha.

#

Thank you!

strong stratus
#

What method does the streamelements api use to deduct points?
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

Because this adds points, not subtracts them

strong stratus
#

@severe shell

severe shell
#

That's the endpoint, you should adapt to your code as it was done before

strong stratus
#

Can you help me with this? How can I make it so that it doesn't add but subtracts?

#

Can you help me? @severe shell

strong stratus
#

oh ty

#

It works too

#

ty

#

sorry

arctic heron
# potent halo Oh one extra thing.. I'd suggest to never thouch changing an "img"-tags' "src". ...

So I'm still struggling 🙃
I currently have added a few fields and that seems to be working. I've added:

"goaldynamicbackground" which allows users to insert a background image for the goal (something that is on the screen before any goal is reached).

"goaldynamicimagesize"
"goaldynamicimageVertPos"
"goaldynamicimageHorPos"
Which I'm hoping to use to change the sizing and position of all images.

I've also added the place to add images for each goal (20 different potential goals). "goaldynamicimage'X'" (X representing the number)

I'm wanting achieving each goal to replace the image on screen with the next image. For example reaching the first goal would replace the background image with "goaldynamicimage1" using a fade transition.

I'm hoping this helps more but if any other information is necessary please let me know. An ex friend originially made the widget and I'm just trying to add a few elements that better fit my current needs/wants so I'm quite out of my element

potent halo
arctic heron
#

yeah I'm open to a call, didn't realize ChatGPT did coding, so now that I do know that, it's helped a bit but still trying to get around issues with GPT code

hollow viper
#

hi there i have just downloaded and connected selive to my obs on my mac im logged in through obs but when i want to see how to connect my SE i try to log in to SE through the selive and it crashes everytime please help

strong stratus
hollow viper
#

got it working

clever night
#

i was wondering if someone could help me. i am trying to set up an alert box for a friend on their streamelements account (been given full control) and its playing the sound alert on streamelements, but not on obs? yet my personal alerts still work on both obs and streamelements.

potent halo
rocky sonnet
#

hi i have soome equires bout campain offers

uneven oxideBOT
#

@rocky sonnet —

Sponsorship questions can only be handled with the ticket system. Please type !ticket sponsor support in #community-helpdesk and follow the instructions from the bot.

Attempting to open multiple tickets will not quicken staff response as they are handled in the order they are received.

hidden crypt
#

Buenas noches, cuando prendo Live en Tik tok, no aparece mi galerĂ­a de regalos, alguien sabe como solucionarlo?

gleaming parcel
#

Does anyone know the event for Twitch VIP role in Streamelement?

undone escarp
#

How can I have Twitch and Youtube messages in a single chat widget?

hardy walrus
#

Not possible. You'd need to use a 3rd party app to do that.

hard smelt
#

I am trying to make my own, actually!

hard smelt
# undone escarp How can I have Twitch and Youtube messages in a single chat widget?

A widget that combines chats from Twitch and X (Formerly Twitter) and am working on Youtube, Trovo, Instagram, Kick, Rumble.
But it's really hard as each platform uses its own completely different API
Also! Don't forget!
Twitch TOS prohibits you from showing combined chats on-stream!
So what I do is I have a Base scene
And my Twitch scene references the Base scene
And I can have a scene-per-platform if I want to, or just use a separate scene specifically for Twitch, since Twitch is the only platform that has chat-combining against their TOS.

#

Yeah, life is hard, it's taking me a long time to get this working, and this is something I'm working on just for me, but the proof-of-concept is there, so this is feasibly doable.

hard smelt
#

Still a work-in-progress, but here's the preview example, only Twitch and X (Formerly Twitter) working right now, but I have the programming know-how to get the other platforms working, so long as they expose out a public chat API

trim inlet
#

A guy called nutty build a working chat for Twitch / Youtube and its open source, though the how-to-setup is still behind a "donation wall" at the moment.

#

Seems to be leveraging StreamerBot

snow root
#

i just saw a nutty video about a newer SE thing that easily merges chats

broken coyote
#

I did a chat widget a while back that is a vertical and horizontal. That does twitch, YouTube, kick, and TikTok

vagrant venture
untold quest
untold quest
#

i just thought that viewers will be able to see what people say on YT

noble elm
#

Hey I keep getting starting out puts have failed when I try to start streaming I already have updated my studio drivers

#

Can anyone help please

quaint musk
#

Hii so in stream elements i have a month sub goal widget. we are having an issue with it staying accurate. For example twitch dashboard say 211 but the overlay widget is showing only 207. how do i correct this?

i have allready signed in and out and have the settings set to calendar timing.

hard smelt
hard smelt
#

I plan to predeclare which platform a particular message originates from when I'm talking about it.
E.g.:
"ShaunX345 from Youtube asks in superchat: 'What platforms are you going to release this on?' - I'm targeting just Windows and Linux for now. Sorry, Mac users."

untold quest
#

quick question, how multichanel widget is supposed to work?

clever flint
#

can i download SE.live beta directly from some link? updating via OBS doesnt work, the installer closes itself when trying to close other apps before installation.

visual jungle
#

Hey! Quick question, When I tried to create an alert I don’t see the animation or hear the sound. I’ve tried refreshing the page or starting over and nothing

frigid birch
#

does anyone here use stream elements for alerts on kick?

median ravine
severe shell
severe shell
untold quest
#

Just to confirm for myself

severe shell
#

If you install it on your YouTube account, the primary channel will work, but the secondary will be always a designated Twitch channel.

severe shell
untold quest
#

Last time i tried it didn't work

severe shell
#

It is not possible to get the YouTube channel as the secondary chat, only the main one

untold quest
#

So, basically, if YT is primary Twitch will be used as secondary, correct?

severe shell
#

Exact!

untold quest
#

Oh wow. Everyday learning something new, lol

severe shell
#

I found out that by accident, actually. I was logged in the wrong account and installed it. And then I tried to test it and it worked

untold quest
#

But also question then: if yt is primary, I don't have to change any overlays or make them again for obs?

severe shell
#

Your existing overlays will continue to work, they have a unique URL, so just open SE dashboard, login with your YouTube account, create the overlay with the multichannel chat and put the URL on OBS

untold quest
#

And noone knows how to work with it lol

severe shell
#

It is possible to find some bugs on the widget, as it wasn’t specifically designed for YouTube, but I couldn’t find any from my tests.

severe shell
untold quest
severe shell
vital wadi
#

I don't see anything in the docs about handling TikTok events, or any non Twitch events. And do messages on all platforms handle the same way? I make my widgets with Twitch in mind but the chat aspect of my widgets works on YouTube as well. Any place I could find this information?

hardy walrus
#

We have 0 access to their API so TT events are impossible until they give us access.

#

Same applies with their chat as well.

vital wadi
#

I see, so the new multi streaming tiktok feature is not interacting with the API at all. How about YouTube events? the docs seem to be Twitch specific

hardy walrus
#

That's primarily because it's the one that's the least PITA to work with and been the main focus of the Devs (opinion there)

vital wadi
#

100% agree, you have to be 'live live' , like real live to test YouTube...makes development basically impossible

severe shell
fading wren
#

hey, does anyone know how to stream from OBS to a scehduled Youtube stream (with SteamElements)?

floral lance
severe shell
floral lance
#

Is not working for me at least

#

I found the error. I was using Bearer Token instead of oAuth

severe shell
floral lance
#

Yep, you're right. Thanks for the help anyways

#

Have a great night.

vital wadi
#

When I make alerts recently ive been getting people saying the username comes up 'undefined', I use obj.detail.event.displayName to get the username and it works in testing/emulating but when live are when the issues come up.

I don't remember this being an issue in the past, I think I may have started using displayName somewhere along the way and not realized I changed....anyway, is there a best practice? should I use the .nick .channel or .displayName to consistently get usernames?

celest sable
#

hey @severe shell! hope you're doing good! do you know if there is a way to fetch the activity feed settings (muted/paused)? Or do we have to 100% wait for a websocket update in order to know?

plain estuary
#

Hey everyone, does anyone know if it is possible to send a chatbot message from an overlay? It looks like the apiToken is not authorized to hit the say endpoint, and I haven't found any way to get the JWT token from the overlay.

raw dawn
plain estuary
graceful shadow
#

Hey y'all, curious here. I know PubSub API is changing, I'm wondering if that affects Reboots widget tool at all.

severe shell
graceful shadow
severe shell
severe shell
rocky sonnet
#

So I got a email for sponsorships avaliable log on to the website and I don't have any what's the point in emailing me if I'm not able to use them

tribal zenith
severe shell
uneven oxideBOT
#

@rocky sonnet —

If you need to fill out a support ticket, please use the command !ticket in chat, following the subject of your issue! For example, please type "!ticket My chatbot isn't working", and then follow the prompts from our bot!

strong falcon
#

so, im creating my own subathon countdown timer in a custom widget which of course - adds time for a donation. I wonder which method of capturing tip alerts is correct and which one should I use? Any advice?

#

Or maybe both methods are correct and it doesn't matter which one I choose?

strong falcon
#

thank you c4ldas

trim inlet
#

How do I get the amount of subs? {{ amount }} doesn't seem to work.

#

It's for a community gift event

#

Nevermind, was using the wrong variable.

uncut cairn
#

is there some people that codes/creates alert/sub/donation/chat stuff with css on streamelement? please dm me if so

quaint moss
#

I'd like to create a one stop shop widget for my channel. Multichats, polls, spotify, rewards, alerts, subathon counters, you name it. However I'm quite new to coding. Is there something a beginner like me could learn about these processes? Or maybe someone already has something made that I could convert into my own? I'm looking for full customization on the widget. Ideally I'd make something on photoshop and turn around and add it to the stream.

If I'm in the wrong chat, I'm sorry. Just joined yesterday

strong falcon
quaint moss
#

Thank you, and I thought his message was fishy lol, thanks to whoever deleted

hardy walrus
#

Twas a bot needing yeeting.

strong falcon
#

Hello again. I want to create a custom widget that shows text "alerts are paused" when a streamer pauses alerts, is that possible? Or maybe there is a better solution for this that custom widget?

jaunty breach
#

Hey, i want to implement my Lobo-Bot Widget into my Streamelements Overlay so i dont have to add it as another Browser Source in my OBS - is there any easy way of doing so that i am missing? (It helps me avoiding a huge cluster chaos of sources in my scenes and increases performance as well) Lobo Bot just gives an Animated Live Display of your League of Legends Stats and is usually implemented as another Browser Source in OBS.

severe shell
# jaunty breach Hey, i want to implement my Lobo-Bot Widget into my Streamelements Overlay so i ...

Do you want to add it to a SE overlay or want to create your own overlay that would mimic that widget?
The first one maybe you can try to add it as an iframe, but I'm not sure if that is going to work, as iframes in SE widgets run in a separated sandbox and don't have parent (and many websites block the usage of iframes)
For the second one, you will need to use Riot API and develop your own overlay.

jaunty breach
strong falcon
#

Just add as another web source in obs, this will not affect optimization (unless you have an intel pentium)

jaunty breach
#

main issue aint the performance for me but this overlay is supposed to be shared to others and it would just assure that everyone has the same overlay and its simple to setup for everyone

severe shell
hardy mortar
#

is anyone else having an issue of the streamelements overlay not updating 7tv emotes (periodically and with the command)

severe shell
#
window.addEventListener('onWidgetLoad', async (obj) => {
  token = obj.detail.channel.apiToken;
  accountId = obj.detail.channel.id;
  const request = await fetch(`https://kvstore.streamelements.com/v2/channel/${accountId}/alerts`, {
    "method": "GET",
    "headers": {
      "accept": "application/json",
      "authorization": `apikey ${token}`
    }
  });
  const response = await request.json();
  console.log("Alert status:", response);  
});
#
const websocket = new WebSocket('wss://astro.streamelements.com');
// Connection opened
websocket.addEventListener('open', (event) => {
  // Subscribe to a topic
  const subscribeMessage = {
    type: 'subscribe',
    nonce: crypto.randomUUID(),
    data: {
      topic: 'channel.kvstore.update',
      token: token,
      token_type: 'apikey'
    }
  };
  websocket.send(JSON.stringify(subscribeMessage));
});

websocket.addEventListener("message", (event) => {
  const message = JSON.parse(event.data);
  if(message.data.key == "alerts.paused"){ 
    if(message.data.value == true) console.log("Alerts Paused");
    if(message.data.value == false) console.log("Alerts Resumed");
  } 
})
#

I will let you do the part that you add the information to the HTML, ok?!

strong falcon
#

omg thank you so much, I'll try it later and let you know if it works ❀

strong falcon
potent halo
# jaunty breach Not a dev myself but i guess i tried to implement it directly as some kind of if...

Most CORS issues can only be resolved by the content sharing party. In this case it's Lobobot.
If it doesn't allow Streamelements as a valid site to share content with, then Browsers will block this behaviour.
However there are some ways around that.
There should be some browser flags that disable cors checking or you could proxy the request.
Browser Flags are easier but needs setup on each User's Browser.
Proxy is a bit harder. There are premade solutions, but you'll need a server for this proxy to run on.

#

TL;DR there is no legitimate way to do this, although some hacks around it exist

strong falcon
crystal hearth
#

heyy heyy i have a quick question.
does the multistream widget download work for Mac? or only windows computers?

jaunty breach
analog kelp
#

Wow, it's terrifying/depressing just how many bad links there are for anything involving SE dev resources. :/

modest mango
#

does anyone know how to get the youtube shorts stream working?

severe shell
jaunty cloud
#

Are there any plans to make a clippiing feature for vertical canvases? this is the last feature I need to make this plugin my go to.

runic kayak
#

Hey everyone,

I'm currently working on a custom widget where I want to trigger an alert when a specific user sends a message in chat.

I have a script in the widget that should trigger the alert, but I'm having trouble finding the correct API endpoint to use. The endpoint https://api.streamelements.com/kappa/v2/alerts doesn’t seem to work.

I’ve tried using the correct JWT token, and I switched to the purchase event as it seems like the other events can’t be triggered via the API.

Has anyone had experience with this or could point me in the right direction?

Feel free to message me privately if you'd like. German is preferred, but English is also okay.

severe shell
# runic kayak Hey everyone, I'm currently working on a custom widget where I want to trigger ...

That endpoint doesn't exist, don't know where you found it.
The easiest option is just to create an HTML with the alert based on the user. Get the event, and if it's a message, check the username is the one you want to show the alert. Then, just show the alert on screen:

<div id="container" class="container" style="display:none">
  <p>USER SENT A MESSAGE:</p>
  <p id="message"></p>
</div>
window.addEventListener("onEventReceived", (obj) => {

  const username = "YOUR_SPECIFIC_USERNAME";

  if (obj.detail.listener !== "message") return;
  if (obj.detail.event.data.nick !== username) return;

  const container = document.querySelector("#container");
  const messageDiv = document.querySelector("#message");
  const message = obj.detail.event.renderedText;
  
  messageDiv.innerHTML = message;
  container.style.display = "block";
  setTimeout( () => { container.style.display = "none" }, 5000) // Hide the div after 5 seconds
});
runic kayak
#

Hey, thanks so much for your suggestion! It works great for showing the alert.

However, my original goal was to trigger an alert in StreamElements so I could use the TTS feature to have the message read out. The idea is that when a specific user sends a message (like a shoutout from our AI bot or streamer info), it gets automatically read aloud using TTS.

I really appreciate your help though! I’m going to keep trying to figure out the best way to make this work.

severe shell
# runic kayak Hey, thanks so much for your suggestion! It works great for showing the alert. ...

The thing with the default alerts on StreamElements is that they are very specific, so creating a custom one can break entirely your activity feed if something goes wrong (making it blank for the next 50 activities).
In order to have your custom TTS, you can use the SE TTS endpoint. Add the audio TTS after container.style.display = "block"; line and play it.

const audio = new Audio(`https://api.streamelements.com/kappa/v2/speech?voice=Brian&text=${message}`);
audio.play();
#

Also, if you are going to use TTS, change the message variable to obj.detail.event.data.text, instead. Otherwise, the TTS will read the URL for each image in the message.

#

Example:
If the user types LUL on chat, the value of renderedText will be:
<img src="https://static-cdn.jtvnw.net/emoticons/v2/425618/static/dark/1.0" srcset="https://static-cdn.jtvnw.net/emoticons/v2/425618/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/425618/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/425618/static/dark/3.0 4x" title="LUL" class="emote">

Whereas the value ofobj.detail.event.data.text will be just LUL.

runic kayak
#

@severe shell Thank you so much for your help! I've attached the code below in case anyone else needs it.

I’ve implemented a queue to handle messages that come in quickly one after another.

It’s working perfectly! Unfortunately, I could only find one male German voice, but it’s more than enough for a bot — it saves me from having to use software solutions like Speakerbot and others.

Thanks again for all your help!

let isSpeaking = false; 
let messageQueue = []; 

window.addEventListener("onEventReceived", (obj) => {
  const username = "daniel327";
  
  if (obj.detail.listener !== "message") return;
  if (obj.detail.event.data.nick !== username) return;

  const message = obj.detail.event.data.text; 

  messageQueue.push(message);

  if (!isSpeaking) {
    speakNextMessage();
  }
});

function speakNextMessage() {
  if (messageQueue.length === 0) {
    isSpeaking = false;
    return;
  }

  const message = messageQueue.shift();

  const container = document.querySelector("#container");
  const messageDiv = document.querySelector("#message");

  messageDiv.textContent = message;
  container.style.display = "block";

  isSpeaking = true;
  const audio = new Audio(`https://api.streamelements.com/kappa/v2/speech?voice=Hans&text=${message}`);
  audio.play();

  audio.onended = () => {
    setTimeout(() => {
      container.style.display = "none";
    }, 1000);

    speakNextMessage();
  };
}
severe shell
severe shell
runic kayak
#

Done, never written a code in discord

dusk summit
#

Quick question, which ai is used in the ai variable?

severe shell
uneven oxideBOT
#

@solemn trellis —

If you need to fill out a support ticket, please use the command !ticket in chat, following the subject of your issue! For example, please type "!ticket My chatbot isn't working", and then follow the prompts from our bot!

severe shell
#

That's the only way

#

Unfortunately, sponsor things are only worked via tickets with the staff. There isn't anything we can do here 😩

tawny portal
#

Hallo, i wanted to set !sub in my chatbot so i did it, but chatbot doesnt respond to it.

hardy walrus
#

What's the command supposed to do?

tawny portal
#

Going to my url to subscribe to my twitch channel

#

I putted the url but doesnt do anything

#

Its funny because i did the same for my discordchannel and thats works

severe shell
#

It should be something like that

#

Type that in your chat

tawny portal
#

In my twitch chat ?

severe shell
#

Yes

#

Without the quotes

severe shell
tawny portal
#

Ok let me try

#

It works!

#

Thankyou❀

#

And another thing, i want to give !tip a nother word for it. But it still reacts to the command tip and not the word that i want

hardy walrus
#

you wanna modify !donate.

tawny portal
#

Yes

hardy walrus
#

!tip is an alias.

tawny portal
#

I want to make it donate and doesnt react to it

#

Oh it works!

#

My bad đŸ˜…đŸ˜‚â€ïž

#

Does it have to be english?

#

Because i wanted to make it dutch, !donatie but doesnt respond to it

severe shell
tawny portal
#

Thankyou!

tawny portal
#

Do you understand this, because i can go live on the phone. But it gives a error on se multistream

ember pollen
#

why is text to speech activation delay capped at 10 seconds? is there a way to increase it?

blazing ember
#

streamelements chatbot for KICK is available now? its in the streamelements dashboard now

uncut cairn
#

is there devs that creates alerts/chat widgets ? (ping me)

tawny portal
#

How can i delete the second youtube, because the delete button its not optional

lucid gull
#

is there a way to make an animation trigger specifically when a new message comes in? I've got a speech bubble in the works, and it has like, a tail, and im wanting it to go away when a new message comes in

i do have the animation made, and rn its just set to a timer, but im wanting to see if theres a way to tell it only to trigger when a new message comes in instead of just automatically

severe shell
# lucid gull is there a way to make an animation trigger specifically when a new message come...

Just listen for a new message and add or remove the animation you created:

window.addEventListener("onEventReceived", (obj) => {
  // Ignore if it's not a chat message
  if(obj.detail.listener !== "message") return;
  // Do your animation thing here
  // document.querySelector("#yourdiv").classList.remove("animationName");
  // document.querySelector("#yourdiv").classList.add("AnotherAnimationName");
});
lucid gull
#

tysm!!!

celest heart
#

Hello guys i have a custom chat widget but for some reason 7tv emotes are not on the code to show, how can i find the code and add it? i use OBS and my widget is on SE ofc, bttv emotes work fine, for some reason animated ffz emotes dont work, but bttv animated ones do work, they appear just fine, how do i fix these 2 issues? 7tv emotes not showing and animated ffz emotes

ivory cargo
#

Hey i wanted to know if they usually give out oauth out to single devs? i did the form just now but it seemed like they think most people are companies. I am a gamedev who integraded streamelements in their games and always manually getting the JWT token can be cumbersome

potent halo
severe shell
# celest heart Hello guys i have a custom chat widget but for some reason 7tv emotes are not on...

For 7tv emotes, probably you just need to run !emotes update in your chat and reload the overlay.
As regards the animated ffz emotes, it seems to be a bug with SE, as it doesn't see the animated ffz as animated emotes, don't know why. Unfortunately, there isn't anything we can do to fix that.
I would suggest that you open a ticket and inform the staff the animated ffz emotes are only static, so they can send that to dev team.

#

For example, the correct URL for this emote: https://cdn.frankerfacez.com/emote/754290/4
Is actually https://cdn.frankerfacez.com/emote/754290/animated/4
There is a /animated/ after the emote id

celest heart
# severe shell For 7tv emotes, probably you just need to run `!emotes update` in your chat and ...

isee, that is def interesting, but about the 7tv emotes, i did try the emotes update comand you mentioned on the twitch chat and also the OBS chat, the problem is still there, the thing is, as i said before the widget is a custom one i got, is there a chance the issue is in the code? like i need to writte the code to show 7tv emotes like i guess they did to show ffz and bttv emotes? because everything i try dont work tbh, 7tv emotes never show, for reference here is the chat in obs

severe shell
#

The bot should have responded in chat when you ran !emotes update

severe shell
celest heart
#

will do, one sec

celest heart
celest heart
#

found it, nice, it was deactivated

#

let me try once again the comand

celest heart
#

def weird

hardy walrus
#

Unfortunately 7TV and their API is "fun" so there's a chance it's stuff on their end like usual.

celest heart
severe shell
celest heart
severe shell
celest heart
severe shell
celest heart
severe shell
celest heart
severe shell
celest heart
#

should i send here or in dms? because of the spam, or it become a txt file đŸ€“

hardy walrus
sullen tinsel
#

my chat box is showing up but my chats arent popping up

#

what do i do

shut notch
#

is there a dev that can help me out?

solar radish
#

Where in obs do I secet the mp4 file for background music again?? (sorry if I posted this in the wrong place)

#

I've assigned the file but not hearing the audio, not sure why.

static plank
clear epoch
#

HI i want to add some link on streamelements overlay can some one help me to how to do that?

solar radish
worthy pulsar
#

im not entirely sure where to ask 😄 i just have a question! how far back does the $ random.chatter command go? is it ACTIVE chatters THAT stream or like last 24 hrs etc

steel cipher
#

Is there a way to reset the streamelements core settings? Been troubleshooting an issue for weeks and I'm out of ideas. I've tried reinstalling but constantly get crashes when i go to close OBS. I'm also unable to rename the multi stream canvas, or delete them. I also get frame render drops on certain scenes but ONLY with streamelements core installed.

This happened like a couple of updates ago and I can't find the solution. I like the streamelements core addon for tiktok multi integration but honestly this is pissing me off and would love any insight if there is any.

tacit crystal
#

Hi guys, I have a problem with the SE.live vertical canvas
When I change "scene collection" automatically some vertical canvas sources change from "example" to "example 1". In this way, however, they no longer match the respective original source. Does anyone know how to solve it?

wooden pine
#

I understand that I'm replying to a message from 5 years ago, but is it still true? Trying to request songrequest:read gives me an invalid scope error, and it doesn't seem that any other scope gives access to the songrequest APIs.

severe shell
#

Yeah, there is no scope for songrequest APIs... oAuth scopes need to be updated to include more endpoints.

#

I mean, if you just want to do GET requests for songrequest endpoints, you can do it with channel:read scope or using overlay token (aka apiToken) that you can get from /channels/me.
But for POST and DELETE requests, only using the JWT, unfortunately.

wooden pine
wooden pine
severe shell
wooden pine
#

Got it, thanks

harsh plover
#

the dashboard doesn't show the correct number of subscribers, and the notifications don't show the new subscribers either.
I deleted the cookies, logged out and logged back in, but nothing happened. I reconnected the YouTube channel, and still nothing. The counter is stuck at 9 subscribers. I want to stream on YouTube

#

somebody can help me ?

terse egret
#

Hello! Do you know if it's possible to get the sponsorships events from the API? I'm trying to get with this endpoint:
https://api.streamelements.com/kappa/v2/activities/{channel}?limit=25&types=event&types=sponsor&types=purchase&before=' + today + '&after=2016-01-01T00:00:00.000Z
I can get the events of my previous sponsorship, but not with the current. Does someone has a solution please?

severe shell
gleaming parcel
#

I’m having an issue with duplicate messages on the chat widget. Some messages appear twice—do you know why this is happening?

olive sand
#

hello hi, i am new on developing custom widget and i want to create & design a chat widget that can show chats with its role and events. But i noticed that youtube/twitch event structure is different from the one that is simulated in the overlay, how do i make sure that the widget receive the same event structure with the one in the overlay emulate?

#

it's work good with the overlay emulate, but i'm still afraid that it would not respond the same way with youtube & twitch event structure. Since i'm trying to sell this widget, but have no way of testing it with youtube and twitch chats/events

terse egret
severe shell
# olive sand it's work good with the overlay emulate, but i'm still afraid that it would not ...

For Twitch, you can simply send a chat message on the Twitch channel.
As for YouTube, you need to start a public livestream to test it.

But if you just want to know the structure of the message, you can check StreamElements documentation in https://docs.streamelements.com/overlays/custom-widget-events#chat-message

The official documentation for StreamElements

olive sand
severe shell
severe shell
severe shell
terse egret
#

Also works with v2 yep

severe shell
obtuse isle
#

Hmmm....
What are the name reflections of the activity feed types query parameter for the youtube stuff?

I guess its:
YouTube Subscriber = follow
YouTube Membership = subscriber
YouTube Superchat = superchat

But I feel like it may be wrong on the Membership and Subscriber cause there are things like sponsor, sponsorship, sponsorshipPassive and I am not sure if any of them is not one of the ones I need.

Possibly on v2 cause I am using Jebaited stuff.

severe shell
obtuse isle
#

Are gifted memberships separated somehow or are they included in sponsor like they are for twitch subs?

severe shell
#

Those are giftedMembers. Here are the ones I found for use on Youtube activity feed (of course merch, tip, giveaway, etc, are StreamElements activities):

types: tip
types: merch
types: purchase
types: event
types: giveaway
types: sponsorship
types: sponsorshipPassive
types: giftedMembers
types: subscriber
types: superchat
types: sponsor
obtuse isle
#

Thanks! (gonna have to remake some code on my combo credits then)

severe shell
obtuse isle
#

Yea I seen it. I was not sure about the types thou.

#

Funny enough there is giftedSubs type that seems to send for twitch gifted subs that just does not return anything. Found by snooping around the api requests of the activity feed

severe shell
#

It was missing the superchat value. I've just added it

severe shell
obtuse isle
#

This is something of an end result, running in 4 times speed as for now and with the full list not session limited (I had to turn off session limit for testing). I need to get the object structures of the youtube stuff to be able to see how it works but for that I need to connect this to account that has memberships and superchats turned on.

severe shell
obtuse isle
#

I do not have them on my youtube account

#

Thats why

#

cough cough... I need to reach them myself.

severe shell
# obtuse isle I do not have them on my youtube account

Well, if at least the options appear in your Activity Feed, maybe you could add some fake data to the Activity feed. Not mock ones, but the data SE will keep in there... (just pay attention not to send an invalid data and break your activity feed):
https://c4ldas.github.io/streamelements-api/index.html#/operations/Post/activities/:channel
You can use this as a body:

{
  "type": "sponsor",
  "provider": "youtube",
  "data": {
    "amount": 3,
    "username": "mrsim"
  }
}

It appears like that on Activity feed:

obtuse isle
#

OHHHH! That is nice. But yea. For me structure is what matters. But knowing the username is there in same way as for subs that should be good enough. (I use providerId as well cause youtube allows "same usernames" but that seems like standard property to be there)

#

tldr: I filter out duplicates in case they happen (for gifted stuff and tips especially)

severe shell
obtuse isle
#

I just need to know if they have username and providerId in same structure as the subscriptions.

#
{
"data": {
  "username": string,
  "providerId: string,
  ...
},
...
}
severe shell
obtuse isle
#

oh! Thanks!

severe shell
obtuse isle
#

OH! Perfect! Yea then my code should just work by itself them.

#

All thats left now is to add option for custom non google font, change the "for you" animation stuff and figure out how I magically was able to access my youtube streamelements on jebaited page once but never afterwards (it just opens me the twitch one XD)

severe shell
obtuse isle
daring jackal
#

Do the streamelements channel variables work for both twitch and youtube? Or just for twitch, I've never tested it on youtube

severe shell
obtuse isle
# severe shell I am not able to access my Youtube account on jebaited, either. Lx once told me ...

update. I figured out the accounts on jebaited... There is some weirdness in relation of the cookies and sessions but... If you log out of the streamelements and jebaited. Close all browser windows. (I personally recommend just using incognito cause seems to be more resilient) Open jebaited website, press the button, login with platform you need (in my case youtube) and it will allow you access to generate tokens for that account.

severe shell
obtuse isle
#

Do you have your accounts linked in streamelements? (I do)

severe shell
obtuse isle
#

Hmmm... then I am not sure. I do not think I have anything special on my youtube account that would make any diffrence.

severe shell
obtuse isle
#

Hmmm... I'm sure I have multiple accounts bound to same email as well. My view looks the same there.

severe shell
#

Do you choose the one that shows your email or the "Youtube" ones? Mine is the one with my email

obtuse isle
#

I press the middle one, without email.

severe shell
#

Ahh okay, so maybe that's the big issue here. 🙂
I choose the one with email. If I select other one, it will create a new user for me.

Good to know

obtuse isle
daring jackal
#

(on twitch)

severe shell
daring jackal
severe shell
#

Yes, you can do !cmd option COMMAND -type reply

severe shell
daring jackal
#

already create the command response function along with the reply function

severe shell
daring jackal
gleaming parcel
# severe shell Check if you don’t have the same overlay open in two places at the same time (OB...

Turns out that wasn’t where the problem was. The actual issue was in this line:
if (messageData.tags.badges.indexOf("vip") !== -1)
I was too dumb and used indexOf to check for 'vip', but I forgot—and didn’t know actually—because I don’t have a VIP or any VIP members on my Twitch account to test it with. So I had no idea what the correct event or data looks like for VIPs.
By the way, do you know what the proper way is to detect a VIP on Twitch?

vital wadi
#

curious if there's a way through Jebaited to check or get loyalty points total??? I know how to add loyalty points, but I'm making a betting game, I need to see if they have the points to bet in the first place

dapper wren
#

Can I speak to a dev directly? I have some suggestions that I think would be easy things to add and help SE.Live really have an edge over the other tools. Thanks.

uneven oxideBOT
#

@dapper wren —

Check out the StreamElements ideas board: https://support.streamelements.com/hc/en-us/community/topics. You'll be able to add ideas, upvote ideas you agree with and track their progress with email notifications. Adding and upvoting ideas also helps the staff know which ideas should be prioritized so please take some time to upvote.

dapper wren
#

Okay thanks

native cairn
#

Making a widget for my overlay, I basically just want to trigger a function every x amount of seconds. Is there a clean way to do that? I saw timers in the api docs, but honestly I struggle to understand what any of it says. I could use something like setinterval from regular js, but that feels a bit janky. Any ideas/examples?

severe shell
# gleaming parcel Turns out that wasn’t where the problem was. The actual issue was in this line: ...

It used to be more complicated, but now you just need to check if obj.detail.event.data.tags.vip value is "1" (string). The same is valid for mod.
This is the obj for a chat message (onEventReceived):

{
"type": "onEventReceived",
"detail": {
  "listener": "message",
  "event": {
    "service": "twitch",
    "data": {
      "time": 1745250932098,
      "tags": {
        "badge-info": "",
        "badges": "vip/1",
        "client-nonce": "cfccc98049c83d8b9d2e77e111f07beb",
        "color": "#008000",
        "display-name": "c4ldasBOT",
        "emotes": "",
        "first-msg": "0",
        "flags": "",
        "id": "8d2bfcfe-e255-48b1-8048-d2c5152f7ab5",
        "mod": "0",
        "returning-chatter": "0",
        "room-id": "28057703",
        "subscriber": "0",
        "tmi-sent-ts": "1745250932095",
        "turbo": "0",
        "user-id": "629674320",
        "user-type": "",
        "vip": "1"
      },
      "nick": "c4ldasbot",
      "userId": "629674320",
      "displayName": "c4ldasBOT",
      "displayColor": "#008000",
      "badges": [
        {
          "type": "vip",
          "version": "1",
          "url": "https://static-cdn.jtvnw.net/badges/v1/b817aba4-fad8-49e2-b88a-7cc744dfa6ec/3",
          "description": "VIP"
        }
      ],
      "channel": "c4ldas",
      "text": "Test message 123",
      "isAction": false,
      "emotes": [],
      "msgId": "8d2bfcfe-e255-48b1-8048-d2c5152f7ab5"
    },
    "renderedText": "Test message 123"
  }
}
}
median ravine
gleaming parcel
severe shell
severe shell
# gleaming parcel Wahh thank you sir! Where did you get this kind of JSON from, or is there an eas...

I got it sending a chat message on my Twitch channel and checking the browser console on SE overlay page.
There is no way to get a JSON for chat message without sending a chat message. I mean, you can mock it, but the response won't be the real one.

Unfortunately, if your account doesn't allow to give VIP roles, my suggestion is to try to get access to a streamer that does, maybe some friend you know? Or start some test streams for a week, just to get the affiliate status. 😩

severe shell
gleaming parcel
obtuse isle
#

#community-helpdesk message @hoary furnace
I do not know how it is animated but depending on how the structure of the chat is done... In css, I would try to target every message except the last one and find arrow inside of it and just give it permanent opacity 0.

Something of this manner should do the trick. Take in mind this is pseudocode. I do not know the structure of your stuff so you would have to adapt this.

.chat-message:not(:last-child) .whatever-arrow-class-is {
  opacity: 0 !important;
}

If you are using css animation to do this... Possibly setting animation-fill-mode: forwards; could do the trick but I have no idea what the starting state of it is.

hoary furnace
obtuse isle
#

Sure, it be faster that way.

solar lance
#

Is there a way I can edit the default overlay's follower goal count? I'm not sure where it's getting it's variable (probably some baked-in counter) but it's not in-sync with my actual twitch counts. It's off by about 30 which leaves the two goals out of sync.

Additionally, is there a command that I can run on my channel that just pulls the {{channel.followerCount}} to update it in the backend?

severe shell
solar lance
#

Huh! Would you look at that.. it was far easier than I anticipated. Thank you!

vital wadi
vital wadi
severe shell
solar lance
#

Does anyone know why I’m getting (literally) hundreds of errors in OBS when using SE browser sources (overlays/elements)?

It almost appears like a 401 error.. or some type of auth/permission issue.. they all basically say “Refused to ___ because it violates the following Content Security Policy directive”.

severe shell
atomic onyx
#

public class Sultan {}

remote shadow
#

delete if this is not allowed

Hey Dev Team,
I am loving the new stream elements plugin for OBS. I love all the features. If you guys could add like a way to clip things in the vertical canvas I would really love that. If there already is could someone tell me how to

subtle condor
#

is any option to send message to first time chatters only (if not on SE do you know of a bot that can)?

placid junco
#

will start making custom alerts, widgets, goals etc. But who do i share it so i can sell it

finite creek
#

i have a small question. is there a way to get info thru the API with specific Alert is playing in my Streamelements Overlay? and can somebody then explain that to me?
im really new to the whole coding thing.

severe shell
severe shell
severe shell
severe shell
ebon iris
#

I'm seeing posts surrounding Trojan Malware in the ground control app. Can anyone clarify what this is?

hardy walrus
#

Any chance you could link where "information" this is coming from?

finite creek
severe shell
finite creek
severe shell
rigid dome
#

is there a stream elements event for hypetrain information yet? Or is it still only accessible through sockets and pubsub?

short holly
#

Good Afternoon - I have been trying to create a First Time Chatter command, to populate when someone chats in my stream for the first time, How do I do that with Stream Element?

finite creek
burnt geyser
#

@severe shell Sorry to @ you directly but I have hunted around the docs and I think you might know the answer. I am sending a custom event using /socket from a widget. AFACIT its working fine (i am getting a 200 response), but using the astro API I can't see it on the channel.activities topic. Is that on a different topic or am I out of luck and need to use realtime?

severe shell
burnt geyser
#

Also, thank you for the late night (at least for me) help!

severe shell
#

I believe you can also connect to it via WebSockets directly (wss://realtime.streamelements.com), but I never tested that.

potent halo
rain spire
#

Hi everyone!

I'm currently developing an element which requires me to catch chat messages. Unfortunately, when I go on the Simulate view, select the Widget Event (SDK, API) option and click on the Type, nothing happen, the dropdown is empty and I'm consequently completely unable to test my widget since I can't even click on the Simulate button.

Does anyone know a viable workaround to emulate events like this please? e.g. send chat messages without passing by the SE UI? (the element is not published, so sending messages to my own twitch chat won’t do) — I didn’t manage to find documentation regarding this, so if someone could please share some insights, it’d be greatly appreciated, thanks a lot!

severe shell
#

Either way, I'm going to send here what I could find, so maybe it will be useful.

#

Connecting to realtime using Websocket:
URL: wss://realtime.streamelements.com/socket.io/?transport=websocket

After connecting, we authenticate sending the following data (42). Available methods are jwt, oauth and apikey:

42["authenticate",{"method":"jwt","token":"YOUR_TOKEN_HERE"}]

You will receive the response the authentication was successful. From now on, you are able to send and receive info. However, you need to keep sending keepalive data (2) to keep the connection alive. Based on the actual SE connection, it sends the keepalive every 25 seconds. Just do the same:

2

You will receive 3 as response.
Edit: The interval is informed once you connect to it. Check the pingInterval value. And the pingTimeout is how long your ping (2) should wait for the response, before considering the connection dead.
0{"sid":"KyWKxUwsJCdNghUbKFGf","upgrades":[],"pingInterval":25000,"pingTimeout":20000,"maxPayload":1000000}

Every data you want to send through the websocket, needs to be a 42 and an array. The first item of the array is the event name and the second is the data itself (it can be an empty object), so it should look like below:

42[
"fire", 
{ "hello": "world", "test": true, "blablabla": 12345 }
]
severe shell
paper flax
#

is it me or does the websocket connections to SE get disconnected way too frequently

raw dawn
#

Hi, in my custom overlay I would like to react to the alerts pause/unpause event.
There is a mute/unmute event, there's skip event, but there is no pause/unpause event.
Am I missing something, or is the only way connecting to the astro websocket?
I'm trying to avoid websockets if it's possible, especially since my overlay already connects to 3 (built-in StreamElements one and 2 custom ones)

lofty cipher
#

Hey guys, I'm very new to this. Like no clue what I'm doing. Where should I start to figure out how to make a widget similar to stream pals where when someone comments in my chat( either kick or twitch) a character drops in from a parachute pubg style and uses random pubg weapons with in game damage and range?

severe shell
# lofty cipher Hey guys, I'm very new to this. Like no clue what I'm doing. Where should I sta...

No idea which widget you're talking about, sorry.
But if you want to start creating widgets, you will need to know some HTML, CSS and Javascript. Then you can look at the SE documentation in https://docs.streamelements.com/overlays, and also check the widgets in #widget-share, which have their code available to check and modify as you want.
Or, if you already have some knowledge, you can use Elements and its SDK available in https://dev.streamelements.com/docs/widgets-elements-sdk/9do3bhwlp2fdt-introduction

plain anvil
#

Could a feature be added to the Streamdeck that allows you to switch multistreaming scenes at the touch of a button?

chilly jasper
#

Hey folks, I'm trying to add a feature to an overlay that makes the bot send a message in response to a command. What is the best way to do this? I was trying to go the route of making an API request via the code below, but kept getting a 401 Unauthorized response.

async function sendMessage(message) {
    const url = `https://api.streamelements.com/kappa/v2/bot/${channelId}/say`;
    const options = {
        method: 'POST',
        headers: {
            Accept: 'application/json; charset=utf-8',
            'Content-Type': 'application/json',
            Authorization: `Bearer ${jwtToken}`
        },
        body: JSON.stringify({
            message: message
        })
    };

    try {
        const response = await fetch(url, options);
        const data = await response.json();
        console.log(data);
    } catch (error) {
        console.error('Error sending message to chat:', error);
    }
}
#

Also an aside, but does anyone know how to add line breaks in the bot responses?

hardy walrus
#

Not possible as no platforms support it.

Widget wise? Someone may have an idea how.

Otherwise....

potent halo
chilly jasper
#

Ooo interesting, have not seen jebaited before. I'll explore that later today, thank you sharkhappy

chilly jasper
#

I was following this message #dev-chat message and ran into some issues. I got around them by other means, but wanted to point it out to see if there were better solutions.

  1. For some reason, the url puts a $ in front of the jebaited token. I couldn't for the life of me figure out why, ended up concatenating the parts instead of using the backticks, and that solved it.
  2. I was blocked by CORS and needed to include the { mode: 'no-cors' } option
  3. Messages that have / in them fail to send, I get a 404 error. Solved this by double encoding the message, so const encodedMessage = encodeURIComponent(encodeURIComponent(message));, that way / gets encoded as %252F instead of %2F
severe shell
# chilly jasper I was following this message https://discord.com/channels/141203863863558144/259...
  1. If it is in a custom widget, you are probably using the same variable name as the FIELDS. SE will translate the variables wrapped into { } or {{ }} to their values before interpreting any code. The solution for that is simply change the variable name in either your JS or FIELDS.
  2. That is not expected, to be honest. It never happened with me.
  3. Yeah, the / is considered a new path in URLs, so it is kinda delicate with that.
olive sand
#

hi everyone

can someone help me to get twitch and youtube events structure? I realized this can be done with replaying some events in streamelements activity feed. I need to know whether my code is already compatible with the structures from live events or not, and not just from the emulate event. here's some event that i need
youtube: superchat, subscribe, become member, gift membership
twitch: follow, become subscriber, gifting subs, send bits, raid

severe shell
#

That will trigger real events on your activity feed and overlays

olive sand
#

wait, so if i use preview live on stream, when i emulate event, it will also trigger real events?

severe shell
olive sand
#

Ahhh, okk, i will try it, thank you for the info

#

oh yeaa, it worked! btw, how do i know the emulate equivalent of the real event?
for twitch, follow is just follower event in emulate, but for the subscribe event, how do i emulate a viewer that subscribe vs viewer that gift subs?

severe shell
olive sand
severe shell
olive sand
#

ahh, okk, thank you

uncut sandal
#

#announcements message
So I saw the new update to streamelements, and they seem to have support for channel points now, does this also give the devs a new event to use?
I checked the normal locations, such as the SE overlay docs and the test events themselves, but noticed no changes

(this is a question for streamelements overlays, not Elements)

#

actually, thinking of that, does anyone know if there is an actual repository / record for all the event object structures that SE has? I've been trying to find one for.. actual years at this point, and the official docs seem to really simplify the sample object signatures

severe shell
uncut sandal
#

I see, haha, guessed it was worth a shot asking in here

uncut sandal
severe shell
uncut sandal
#

oh, seems to be
channelPointsRedemption

#

all good dude hahaha, Honestly really grateful you take the time to help people out and have that API reference, honestly I'm hoping devs start adding self documenting tools to the APIs so there is a consistent update between backend changes and stuff we find

crystal idol
#

Hi! Just started using the SE astro websocket and what's the logic behind tips not always coming through as an event? Does the streamer need to be online? I have make sure to subscribe to both activites and tips for multiple SE "channelIds" for the same creator and its still flaky.

severe shell
crystal idol
green peak
#

Hey. sorry I'm new to this discord and not sure if I'm in the right place. I'm trying to create a couple elements for a stream in the next few days. I'm trying to make a Donation goal, but I need to track the donations from an external site. I'm also wanting to create alerts that come up when someone donates to that specific site too. If it's relevant, the website is a fundraiser page. I'm going to be honest I have no experience in coding at all (I googled and found something about web scraping or something) Is there anyone that can help me or point me in the right direction? 🙂

crystal idol
green peak
median ravine
severe shell
uncut sandal
#

twitch channel points streamelements support for twitch channel points twitch rewards point system point redeems

solar lance
#

Good evening folks!

Does the YT ChatBot work as expected? I’ve streamed to Twitch for some time but recently tried to use YouTube - StreamElements mentions the bot is in my chat but no commands nor timers are working.

Additionally, is there a way to set a bot account similar to Twitch?

topaz knot
#

Hello everyone just wondering if anyone knows how to fix streamelements alerts being delayed whilst I’m live I get a couple hundred in TTS messages every night and 80% of them either come through either 10 minutes or hours later I’ve tried everything support won’t help I just don’t know where the cause for this is coming from I’d appreciate any piece of advise I can get thanks

grim plover
# solar lance Good evening folks! Does the YT ChatBot work as expected? I’ve streamed to Twit...

Hey! I’ve had similar issues with the YT ChatBot not triggering commands or timers properly. It’s worth checking if the bot’s permissions are fully set up in YouTube Studio, and that it’s connected to the correct stream. As for the bot account, YouTube doesn’t have the same setup as Twitch, yeah, but you can use a separate account or a service like StreamElements to manage the bot. Hope that helps!

mortal hull
#

Hello, I'm looking for a solution to display relevant messages on OBS like featured chat used to do. Thank you if you have a solution.

solar lance
grim plover
glad vault
#

pahelp, when i connect my tiktok, is not working when im starting to live, i have access on live but it says i dont have perms

gleaming parcel
#

Does anyone know why this is happening? The issue occurs when I test the widget—sometimes the text looks pixelated or blurry, and other times it's clear, like in my example. I’m not sure what’s causing it. Could it be a rendering issue or something else? I’m really confused.

severe shell
pearl tendon
#

Is there a way to set up a command with multiple responses but the responses are not random just in an order

hard tiger
#

Hey, I'm working on a custom chat widget and noticed something weird with gift subscriptions:

When I emulate community gifts - the gifter's 'custom message' only shows up in the recipient events (isCommunityGift), not in the initial bulk gift event (bulkGifted).
Is this how it's supposed to work by design or am I possibly doing something wrong?

Thanks! 🙏

severe shell
#

Also, community gifts don't have custom message in real life (as the gifter cannot type a message when sending the gifts). The message is always a placeholder.

pulsar willow
#

Hey! I'm working on a chat widget, and I was wondering if anyone has any idea how to reposition the badge icons from one side of the name to the other?

#

can't seem to find that anywhere

severe shell
#

Or use CSS for that

pulsar willow
# severe shell Or use CSS for that

I'm trying to use CSS, but I'm fairly new at this, and I'm trying to do it all on SE, would you happen to know how to maybe go about doing that?

daring lion
#

Hello, who know how can i install my own chat bot on stream?

uneven oxideBOT
hardy walrus
#

That's the sole exception for how to add the bot.

Any other supported platform just needs you to hit the join button on the dashboard.

daring lion
uneven oxideBOT
#

You can choose a custom name for the streamelements bot by logging into the option on this page. https://streamelements.com/dashboard/bot/settings

If the option to login is not visible while logged into your Twitch account please make a ticket so staff can fix it for you (!ticket custom bot name)

daring lion
#

Cant do this

hardy walrus
#

Read the bot message and join it as well.

daring lion
hardy walrus
daring lion
hardy walrus
#

Read the bot message again.

hard tiger
hard tiger
# pulsar willow I'm trying to use CSS, but I'm fairly new at this, and I'm trying to do it all o...

You can either go into the JS and find where the HTML is being generated for user messages. Then change it so that the div or span the badges are in are after the Username div or span. Or you can find the class of the container div that has the username and badges and targeting it in your css and making it display:flex; and flex-direction: row-reverse;

But if you're not familiar with CSS i recommend taking a course on freecodecamp or at least downloading some sort of a learning app to get more familiar with CSS. or use ai to help you, but make sure to ask it what it's doing and not copy-paste the code it feeds you - but instead type it out by hand and try to understand what you're doing

hard tiger
#

Still working on the subscription events for a chat widget... I have another question đŸ€”

The individual sub-gift JSON has the following properties: "displayName", "sender" and "name".
I'm guessing "sender" = is the sender's username, "name" is the gift-recipient's username (?)... but I'm not sure who's display-name "displayName" corresponds to. The emulated event on streamelements seems to just use one user for both gift sender and recipient so I can't check for which one is which.

also judging from the available properties, there's no way I can get the display name for both of them, right? just one of them, and then the un-capitalised username for the other

severe shell
hard tiger
#

i see, that' clears it up. so i can't get the display name of the user that gives the gift, just the username?

hard tiger
#

darn 😩 btw is there some way i can test events like subscriptions and gifts outside of the stream elements editor - without running the twitch cli and figuring out how to hook it up to streamelements?

severe shell
# hard tiger darn 😩 btw is there some way i can test events like subscriptions and gifts out...

Well... You won't be able to send data to SE using Twitch CLI, unfortunately. But it is possible to test events outside the editor:

If you have a Streamdeck:
#dev-chat message

You can do it directly via API using mock requests:
https://c4ldas.github.io/streamelements-api/index.html#/operations/Post/activities/:channel/mock

Or... If you laugh in the face of danger, you can send "real" events via API as well
https://c4ldas.github.io/streamelements-api/index.html#/operations/Post/activities/:channel

pulsar willow
#

Ok, I figured it out, as you can see, I'm trying to make a CSGO chat, but I'm trying to add custom chat badges to replace the default twitch ones, like for example the mod badge, to match the aesthetic, is that possible?

#

I already have the icons made for moderator, broadcaster and VIP

#

just don't know how to add them

potent halo
#

After that it's just swapping the real badge url with your custom one.

pulsar willow
#

I'll try that, thank you!

balmy swan
#

how do I uninstall this thing my OBS is in portable mode and your software will not uninstall even if I put in programs location but as soon as I take it out it back there

#

also your new update causes a problem with vertical plugin and many multi streaming plugins

hard tiger
#

I'm still working on a chat widget!

Reworking my method of removing old messages as new messages come in to measure exactly how much vertical space is needed and how many messages need to be removed. Before that I was using recursion which.. was a bad method and trips up my custom animations.

The issue I have is merged posts, I've been handling them by appending consecutive posts from the same user as spans within that user's original post, and when space was needed for a new post, the removal handler would keep the merged post but remove the oldest span.

I'm lk dreading having to recreate that same method with the new handler I'm creating.. and really conflicted about how they would animate if say I need to remove 1 post then 1 span from a merged post and the post removal animation is sliding up and disappearing.. should the merged post span follow suit? should it be animated differently?? is that visually confusing??? đŸ˜”â€đŸ’«

Or should I just treat merged posts like regular posts from now on and not take into account the individual spans inside merged posts? feels a bit mean to get rid of a consecutive posters full scope of messages in one fell swoop.. but maybe it's the better, more visually consistent solution?

so TL;DR:

Should I have my overflow removal handler for incoming posts remove individual messages from merged posts or just remove the entire merged post when space for a new post is required?

... and like, are merged posts even something worth spending time on? đŸ€”

#

sorry about the long ass post btw đŸ™đŸ»

obtuse isle
# hard tiger I'm still working on a chat widget! Reworking my method of removing old messag...

Not fully sure what you are trying to achieve with the "merging", I just can't see the reason to do that... but... If you want some fancy way to clean up messages that are no longer visible check out Intersection Observer API You connect it to ever message you "create" and define the container to which they have to "intersect" with and then just check its intersectionRatio if its 0 you can just delete the element. Rest is up to whatever you want to do.

Little super simplified example from my multistream chat (powered by streamerbot so I had to trim a lot of things off here):

let options = {
    root: null,
    rootMargin: "0px",
    threshold: Array.from({ length: 1000 }, (_, i) => i / 1000)
};

let callback = (entries, observer) => {
    entries.forEach((entry) => {
        if (entry.intersectionRatio === 0) {
            observer.unobserve(entry.target);
            setTimeout(() => {
                const container = document.querySelector('.main-container');
                const childToRemove = entry.target;
                container.removeChild(childToRemove);
            }, 1000);
        }
    });
};

let observer = new IntersectionObserver(callback, options);

// You will need to modify the stuff here so it fits your things, this is super simplified
const onMessage = () => {
    const container = document.querySelector('.main-container');
    const messageElement = document.createElement('div');

    messageElement.textContent = "bla bla bla this is content of the message";

    container.appendChild(messageElement);
    observer.observe(messageElement);
}

// If you are handeling message deleting
const onMessageDelete = (messageId) => {
    const container = document.querySelector('.main-container');
    
    // Here we look for the message that we need to delete, in my case they all have a data attribute with the message-id
    container.querySelectorAll(`[data-message-id="${messageId}"]`).forEach((messageElement) => {
        observer.unobserve(messageElement);
        container.removeChild(messageElement);
    });
}

const onUserMessagesDelete = (userId) => {
    const container = document.querySelector('.main-container');

    container.querySelectorAll(`[data-user-id="${userId}"]`).forEach((messageElement) => {
        observer.unobserve(messageElement);
        container.removeChild(messageElement);
    });
}
hard tiger
#

Oh the merging option was in the default/example chat widget steamelements have on their github. so i kinda ran with it thinking it's a customary option to have.. I'm starting to think most people don't have it on their custom chat widgets though :p

That's an intersting option for getting rid of older messages! it's a bit different to how i'm going about it, for now I'll keep doing it the way i'm doing it, but I'll add that api to my notes.

what i'm was trying to ask was more of a ux "abstract"-kind of question.

Basically my handler(s) for adding and removing messages measure the vertical space of incoming messages, and remove as many old messages as necessary to fit it in.

this in tandem with having the option to merge consecutive messages from the same user (or not!) causes it me to wonder if when removing messaages my handler should remove an entire merged post or just the messages inside it that are necessary.

removing the entire merged post is easier to maintain, and streamlines any animations i add. But it's harsher, it kind of punishes someone for posting more than once in a row with potentially less screentime.

removign just the messages that are necessary in a merged post is harder to maintain, and adds another level of complexity to animations. But it's not as harsh.

lk I'm erring towards the just removing the entire merged post option because it seems like the pros outweigh the cons (con?)

but i was curious to know what any other widget devs might think

gaunt raptor
#

Does anyone Know how to make a custom multi chat overlay

daring loom
#

hey im having issues with alert boxes they wont show my text and i have it above the image

gaunt raptor
#

I already made the chat with the custom chat github but it doesn't connect to the other streams

gaunt raptor
#

?

gaunt raptor
#

So it's come to my knowledge that the default chat widget is no longer a multi chat. Any ideas?

hard tiger
gaunt raptor
#

I already made a custom one, I just can't wrap my head around the multi stream thing

#

I've been holding off on streaming because of this

hard tiger
gaunt raptor
#

-<-

lavish tendon
#

Hi, I would like to know how I can set up multiple different alerts for donations (for example one for those from 1 to 5 and another for those from 10 to 20) how can I do it?

lament fern
#

Hi guys, how do i proper use the locale field in my custom widget, for user to change, and reflects in the currency, currency symbol and currency label.

I'm trying everything and i can't acess this, even to see what is saved.

I'm going to use on the Tip event, after a replace from some variables in the field of a custom message like:
"{user} send {Symbol} 5.00 {Label}".
But the Symbol and the Label could go after the replace with this message:
"{user} send {amount}"

uncut sandal
# gaunt raptor Does anyone Know how to make a custom multi chat overlay

so as far as I am aware, there is no direct way to implement a multi chat widget using the SE overlay API, and that basically just comes down to the fact that your streamelements account i.e your overlay event listeners are only connected to one stream platform at any given time.

If you have development experience with nodejs there are some other platforms that I know would allow you to build your own implementation
nuttylmao on twitter talks about that some more

gaunt raptor
#

Oh

#

That should be a feature at some point

ashen dome
#

is there a certain version of obs thats needed for s.e live

hardy walrus
#

V31

ashen dome
# hardy walrus V31

i downloaded the s.e live and it auto downloads a version thats not useable

hardy walrus
#

That's the only supported version.

ashen dome
#

Yes I’m aware

ashen dome
pulsar willow
#

so im using the custom widget i have hit a bit of a road block as im kinda new to coding this kinda thing i have the way i want my chat layed out done i just dont know how to make it diplay usernames chats badges ect and make the "boxes" (idk what else to call em) dissapear when needed
here's a screenshot of what i have atm

#

i wanna display chat in the gray areas and usernames where it says user a b and c chat

#

then when theres no chat to be displayed its gone

#

just kinda blank chat area

median ravine
pulsar willow
median ravine
pulsar willow
#

thank you that means alot my brain feels like mush

#

i think i have someone who can do the javascript part for me i just gotta wait till they get on their computer to ask

tough crane
#

Hey guys, I have questions: let’s say I stream both horizontal and vertical formats at the same time on YouTube, then I have to schedule two YouTube live events BUT StreamElements overlays only get events (chat, alerts, 
) for one of the two (probably the last one to start), is it normal? What can I do to fix that? Thanks!

young pier
#

Hello everyone

pulsar willow
#

that ive found

tough crane
#

oh too bad

pulsar willow
#

check the dm i just sent you

tough crane
#

thanks but it doesn't help

pulsar willow
tough crane
#

Yes of course

#

It said that the way SE overlays are implemented it can’t work

hard smelt
tough crane
hard smelt
#

Why on earth would it be a polling API when chats are real time thing. Even Kick had a web socket API

hardy walrus
hard smelt
hardy walrus
#

Inb4 429'd and 403'd kek

hard smelt
#

But I got my audio waveform visualizer half-working!
I'm very proud of this progress so far.

obtuse isle
# hardy walrus Inb4 429'd and 403'd <:kek:585582975136301077>

I don't know about that... I was able to hook up with puppeter and even implement login process with saving cookies just so I do not need to store login details in code at all so I have access to all apis calls and features like normal creator account. It works perfectly. (still work in progress thou, I want to make this work with multiple accounts and optimize for server side running)

next remnant
#

What

#

the hell did StreamElements update

#

that it breaks certain alerts because of iframe

#

was it always blob: ?

#

I can open up the iframe's blob: URL in the browser and then I see that it's broken as well

#

if I open up a blank non blob: page and copy paste the exact same HTML content in there, it's not broken

next remnant
#

I fixed it

#

but

#

a dev needs to fix it

#

I set a breakpoint where it creates the Blob, and it's not adding <!DOCTYPE html>

#

which breaks style somehow for some reason

#

pls fix

hidden coral
#

Hey Devs, This JS code is from a widget Viewer Count by LX. please i need help i want to make it work for youtube as well

severe shell
hidden coral
#

or google api would be just fine?

severe shell
raw falcon
#

Is there anyone here that could create custom widgets using the streamlabs/elements api?

#

dm me if u can

#

have a paid inquiry

steel void
#

how do i get tiktok live to work in stream elements

fiery lynx
#

Will being able to live stream both portrait and landscape be available for the SE plug-in on obs?

bitter urchin
#

I want to make an app that allows me to rename people in my chatroom so I can give them nicknames. But I'm a total beginner when it comes to app development, my only experience with programming is in Unity, so I don't know how to begin to interface with Twitch API or even what the project I'm trying to make would be called.

lavish ravine
#

Hey guys, I'm using the SE_API to get permanant data for a custom widget. While the call is super fast in the browser, it takes up to 10s in OBS. Was wondering if any of you had experience with that?

severe shell
sick cedar
#

Quick question: On the activities block it says
Requiring authorization is optional. A user can access data without authorization or with authorization, if provided.
But, when I try to access it without authorization it tells me that I'm not authorized. Am I missing something here? Or just reading it incorrectly? Ideally I'd be able to do what I'm doing with just the bearer auth token and not have to go through getting OAuth activated because I'm just looking to make a custom widget for a friend.
https://dev.streamelements.com/docs/api-docs/861a5d5450bbb-channel

severe shell
sick cedar
strong falcon
#

hi, im trying to develop a small integration with YouTube chat in a custom widget, but what do I do if the YouTube livestream is off and i cant access youtube chat? For example, on Twitch, the chat is always available, even when the stream is offline. Any ideas?

hardy walrus
#

Unfortunately can't really do anything without a livestream going due to how YT is designed.

#

And it has to be a public one at that.

tawny jewel
#

guys is multi streaming an experiment with obs with the plug in

tawny jewel
#

yeah i tried asking over there a few hours ago

#

was hoping to at least find any info even if its just that the plug in is experimental ...since idk when i may hear back was all

raven terrace
#

Hi. I don't know if this is the right channel. If not, tell me where else I can ask.
Is there a way to detect whether a Twitch channel is online or offline in a custom widget? So that I can use it to start/stop a counter/timer, for example.
Thanks.

karmic mulch
#

lol ^^ how bad (message was deleted)
search for 'twitch api check if channel is live'

severe shell
raven terrace
vestal hedge
#

Hello, I have a question about the SE.Live, and I hope this is the appropriate channel for this. I've been using it for a while, and I originally stream on twitch however it's still doesn't support AV1 more than a year after the announcement. I know that YouTube supports it, so I was thinking if I streamed to YouTube as my main with AV1 if it would have a better quality on twitch, or no impact at all? Or maybe it would need to transcode an extra time to send my broadcast to twitch? Or not work at all?

severe shell
lime grove
#

hey idk if anyone else is having the same issue but recently, my obs has been crashing. I found what the issue was. everytime i resize my canva for my camera it crashes. i tried deleted the source and make a new one and still crashes. now i tried just resizing my dispplay canva crashes. so everytime i tried to move/resize the canva obs crashes. any help would be great but also wondering if anyone ellse is having this issue. Thanks, ❀

elfin junco
#

Does anyone here know how to make music widget ?

#

????

mint knoll
#

@elfin junco check out Gael Level or Nutty because they both have tutorials on that .

hollow tulip
#

this appears as a bug to me. "High Quality" should be "Normal Latency" to align with YouTube Studio if I am not missing something?

burnt geyser
#

Can you subscribe to multiple topics on astro on the same connection or do you need to create a seperate websocket per?

severe shell
burnt geyser
severe shell
# burnt geyser Hmm, that gave me an error saying I was already subscribed to a topic

Probably this is the error you see:

{
  "id": "01JWV46QEVEC24K0002RSNXM1V",
  "ts": "2025-06-03T14:47:54Z",
  "type": "response",
  "nonce": "1747667378606-2",
  "error": "err_bad_request",
  "data": {
    "message": "already subscribed to topic"
  }
}

It means you already subscribed to that specific topic and you are trying to subscribe to it again. Check your code to make sure you are not subscribing to the same topic again.

spark verge
#

Hey guys, don't suppose anyone knows whether it's possible to create a custom chat using the StreamElements custom widget, and then combine both Twitch and YouTube chat into one overlay?

hardy walrus
#

Possible? Maybe.
Worth it? Not at all.

The PITA that YT is needing to be both a public stream and the fact it doesn't "update" as fast as it does with twitch makes it not exactly something people want to do.

spark verge
hardy walrus
#

I'll let the coding guy answer OpieOP

boreal inlet
#

i feel like ive been searching for ages. But where can i find the button that shows the alerts ive got - so basically the button that enables the alert?

hardy walrus
#

Not sure what exactly you mean by that.

boreal inlet
#

i have a "new follower" alert. I want to see what it looks like when it is pressed 🙂

#

nvm. I found it

severe shell
# spark verge Hey guys, don't suppose anyone knows whether it's possible to create a custom ch...

There are some tricky ways, but none of them are actually officially supported, as it is against Twitch TOS.

One of them is creating the chat widget in your Youtube account to capture Youtube messages. Then you could connect to a Twitch chat (which is kinda public) and show the messages together.

Just remember (again) that showing chats from other platforms on Twitch stream is against Twitch TOS

This widget here, for example, was made for multi channels on Twitch, but if you install it on your Youtube account, you might be able to capture your Youtube and Twitch chats together. However, it's an old widget that uses twitch-js lib, which repository was archived in January 2025
#widget-share message
https://github.com/twitch-js/twitch-js

lament fern
#

Hi guys, someone can help me with "currency" on the tip event for my custom alert? i want every time i got tipped, it shows the correct "symbol" (R$, U$, E$, etc) based or on my locale settings, or the coin based on my tip page.

#

like, if someone tip me "10". It will be 10 (sender currency), (mine [locale setting]) or (will be converted to my tip page currency). Cuz the "amount" variable just send me the value, not the rest that i need to display on my widget

undone sun
#

is there a way to copy my chatcommands and everything under chatbot and other from twitch to youtube and similar?
or do I gotta do em all seperately

lament fern
ebon wind
#

i tried to multistream from youtube and twitch but keep getting the error to starting the output failed please check the logs for setails

vague silo
#

Everytime I try the roulette option it says user not found and no points

#

I’ve tried parting the bot and reinstalling obs nothing works

severe shell
#

So you initialize it when your widget starts and then you can use on the tips

mystic kraken
#

Can I make my multichat visible on my stream?

severe shell
lament fern
severe shell
lament fern
nova apex
#

anybody knows why when i try to login to OBS via SE live it load a page to login an nothing happen but i am still not login 😩

nova apex
#

thks

nova haven
#

I've made a Custom Widget in the Overlays.

Can someone see why the community (bulk) gifted sub event is also triggering the regular gifted sub event underneath? (Shown in the // --> comment.)

It's essentially counting the bulk gifted subs twice.

// || Main Event Handlers
window.addEventListener('onEventReceived', function (obj) {
    if (!obj.detail.event) return;

    if (typeof obj.detail.event.itemId !== "undefined") {
        obj.detail.listener = "redemption-latest";
    }

    const listener = obj.detail.listener.split("-")[0];
    const event = obj.detail.event;

    if (listener === "subscriber" && includeSubs) {
        let increase = 0;

        const isGifted = event.gifted === true;
        const isBulkGift = event.bulkGifted === true;

        // Handle community (bulk) gift once
        if (isBulkGift && !isGifted) {
            const giftAmount = event.amount || 0;
            increase = giftAmount;
            console.log(`Community gift detected: +${giftAmount}`); // --> This log shows on a community bulk gift
        }

        // Handle individual gifted sub NOT part of community (bulk) gift 
        else if (isGifted && !isBulkGift) {
            increase = 1;
            console.log(`Individual gifted sub counted: +1`); // --> This log ALSO shows on a community bulk gift (shouldn't happen)
        }

        // Regular sub (not a gift)
        else if (!isGifted && !isBulkGift) {
            const tier = event.tier || "1000";
            switch (tier) {
                case "1000": increase = 5; break;
                case "2000": increase = 10; break;
                case "3000": increase = 25; break;
                default: increase = 5;
            }
            console.log(`Regular sub detected (tier ${tier}): +${increase}`);
        }

        // Apply the increase
        if (increase > 0) {
            glitchLevel = Math.min(glitchLevel + increase, maxGlitch);
            updateGlitchMeter();
        }
    }
});
potent halo
elfin lark
#

this might be a dumb question but is the se.live plugin made with electron?

hardy walrus
spark verge
crisp wagon
#

Do kvstores get wiped/reset after a certain amount of time not used?

onyx eagle
#

Hey guys I need help I've set up prize wheel by pjonp using stream elements logged in via kick. My issue is that everything works except the chat feature
!Spin !join because I'm logged in thru kick when I log in thru twitch it works. Can someone help me tweak the code so it works with kick chat as well. Thank you so much

primal zinc
#

How to I trigger a upload(s) screen in my widget setting menu option ?

severe shell
#

I don't remember whether it is "sound-input" or "audio-input" (or if both would work)

#

There is an "image-input" as well

primal zinc
#

oke... found it : sound-input in the doc... will have a go.... 👍

hexed stone
#

How do I add a field with normal display text

severe shell
# onyx eagle Hey guys I need help I've set up prize wheel by pjonp using stream elements logg...

There are some issues:
1 - Jebaited (the middleware that sends message on chat) has only support for Twitch. So you aren't able to get a token from it and make the bot send a message informing the winner option.
2 - StreamElements overlays still don't have support to read Kick chat messages. So, even sending !spin/!showwheel/!hidewheel on chat, the overlay won't be able to read them.

There are some hacky ways of doing that, but they would be need many changes on the code and not that easy to fix.

severe shell
hexed stone
#

I mean I want to display normal text in my widget so I can list my available variables

#

As shown in the attached image

#

The image above uses a default widget provided by SE, but I'm hoping that normal text is possible within a custom widget as well

severe shell
hexed stone
#

Thank you. Do you also know how to get the duration since a stream was last live?
Sort of like how sessions last for 15m, I want to see when that 15m marker is reached so I can clear my own variables

severe shell
onyx eagle
#

@severe shell wow that's really informative thx I was hoping it was a simple chat link replacement I want the chatter wheel or something similar but nothing exists out there! 😔😔

obtuse isle
#

Folks... does anyone remember if bits gets send over the message event? Its technically a message but it has its own event so I am unsure...

severe shell
obtuse isle
severe shell
severe shell
hexed stone
severe shell
hexed stone
#

Sounds good ty

fiery lynx
#

The tiktok issue not allowing to go live error still occurs. Any idea of when tiktok will fix it since it's on their end?

spring sentinel
#

HI Devs!! SE Chat Bot on KICK is down. SE Chat Bot on Twitch is working. Just thought you would want to know

severe shell
severe shell
strong geyser
#

k

slim sonnet
#

Hi, everyone i want to make my own custom widget for my platform glitchover.com , so if a streamer is streaming and if any user follows him on our platform so it should show an alert so for that i want to create a custom alert on stream element but i don't know how can i get the data from my platform and how my stream element alert gat fetch that data to show in alert ??

hardy walrus
slim sonnet
#

thank so much for replying.. like about which api you are talking ?? SE API ??

hardy walrus
#

No. That website you mentioned.

slim sonnet
#

okk ya that our website like we can develop that api route specific for that..

mental forge
#

When is an update coming? It's been almost a month and there's still no update

hardy walrus
#

For...?

mental forge
# hardy walrus For...?

To add TikTok chat in multi chat
To add the display of channel points in the multi chat when someone uses them
To optimize it
To add the possibility to choose which OBS audio track is sent to each platform individually customizable unless that already exists
To take into account the stream title and category directly in OBS so we don't have to choose them again when we want to start the stream

^^

#

Also fix that red emoji that’s useless
My TikTok works perfectly I just have to launch it but the warning icon never goes away I don’t understand why ^^

hardy walrus
#

The first one we're still waiting on API access from TT to do much of anything.

severe shell
knotty thorn
#

just looking at the documentation, there's no hype train event info sent is there

severe shell
lavish ravine
#

Hey there, I make custom widgets for Twitch and just realised that the event received window.addEventListener("onEventReceived", function (obj) {
Comes out different depending on the user?
For channel point, I get an event that looks like this:
amount: 50
displayName: "Ashhki"
message: "ff"
providerId: "61792542"
quantity: 0
redemption: "Order"
username: "ashhki"

While another person with the same exact code got an event like this:
title: "Order"
type: "channelPoints"
userInput: "test"
username: "Ashhki"

Is there any reason why that's happening?

severe shell
# lavish ravine Hey there, I make custom widgets for Twitch and just realised that the event rec...

None of them look right, to be honest. The response format wouldn't change based on the user. Maybe what you have is not the native response, aren't you using any library or a custom code for that? You can find an actual example object for Channel points here:
https://c4ldas.github.io/streamelements-api/eventreceived.html#channel-points-redemption

What is the object response on the browser console when you have this code on the widget and redeem a Twitch channel points redemption?

window.addEventListener("onEventReceived", function (obj) {
  console.log("Response object:", obj);
})
lavish ravine
# severe shell None of them look right, to be honest. The response format wouldn't change based...

I get exactly what you have in your link but a person who installed my widget, with the exact same code got a different event.data. This is the first time it has happened but now I'm really scared it could happen again as I have absolutely no idea why this was!
Inside the event.data I get amount, username, displayName, etc but this person had cost instead of amount, title instead of redemption, text instead of message etc..

severe shell
severe shell
lavish ravine
severe shell
#

If they installed in their account using my direct link, the overlay would be called "Twitch Channel Points"

lavish ravine
#

Mmh interesting, they installed my overlay straight through overlays batary dev so there shouldn't have been any other overlay in it but it is possible they had it in a different one, I'm gonna ask them. Thank you so much, that gives me much relief as I imagine that this won't happen too often and if it does, I'll know what to do.

severe shell
vague iron
#

Just a quick question I use the goals overlays to show bits etc - i guess this info it the same as the dashboard figure - is there any plans to add Power Up figures to it as it is frustrating to have to edit it by hand before every stream?
Sorry if this has been asked and answered but I cant seem to find an official response. TYVM

young monolith
#

I was searching for a way to update StreamElements counters... it does appear that PUT is supported for https://api.streamelements.com/kappa/v2/bot/{channel}/counters/{counter} (although the value you PUT is used to adjust the counter positively or negatively, rather than a direct assignment). Is it okay to use this API even though it is undocumented? It's being used from the web interface for editing counters.

severe shell
severe shell
young monolith
#

Sadly, SE_API doesn't support a counter_set postMessage command... it would be neat if the overlay could just update the SE counter on receiving a redemption.

vital wadi
#

I'm trying to emulate a chat message in my widget. Its a blackjack game and I have a queue system that I cant test any other way, well there are other ways to test but it wouldnt be a direct test, anyway........ any documentation or examples of a widget simulating a specific chat message like "!join" through a widget button?

hardy walrus
#

Which platform?

vital wadi
#

Twitch

hardy walrus
#

I know there's some 3rd party chat widgets that have a "send test message" but the only one I can immediately think of isn't free unfortunately.

#

Pinging @broken coyote as I'm fairly certain flow chat had this "feature" but don't have access/knowledge of the coding side of stuff.

next basin
#

So I have a user cool down set to like 50000 seconds for a command, but it seems to not be working.
I checked all the docs I could find and it was listed as seconds only.
The API lists it as an <int32> so I am assuming the number isn't to long.
Is there any thing else people can think of that might cause a cooldown to get reset so I user can re-use a command?

severe shell
# vital wadi I'm trying to emulate a chat message in my widget. Its a blackjack game and I h...

Basically any custom chat widget has a button to simulate a chat message that SE will understand like a real chat message being sent. But it is used for checking the animation/design of the widget.
Just go from the line if (obj.detail.event.field === 'testMessage') { until window.dispatchEvent(emulated);.

Another way would be simply... sending a message on the actual Twitch chat. Unlike Youtube, the Twitch chat is always available, even when you're offline.

severe shell
next basin
shell jasper
#

how to delete stream elements off obs

tough crane
#

Hey guys, I created a Kick overlay, added a custom code widget and I receive alert events but not chat events. Is it expected? Do chat events work on kick? Thanks!

severe shell
tough crane
hardy walrus
#

we're waiting on them to expand what is possible via the API anyways.

tough crane
#

You mean kick?

hardy walrus
#

Yup

tough crane
#

Ok but on the SE.live landing page it is written that kick chat messages are shown in the multi chat dock

#

Don’t they?

#

If so what prevents them to be sent to custom widgets?

severe shell
hardy walrus
#

The aforementioned lack of API documentation kn their end.

severe shell
#

Oh, my answer was to the question "if so what prevents them to be sent to custom widgets?"

tough crane
#

ok so if I get this right, a bit of work has to be done on the SE side to format those chat events and that's it?

severe shell
tough crane
#

any idea about how long it has been this way?

severe shell
# tough crane any idea about how long it has been this way?

No idea, but if you are ok with some work on your side, you could connect to Astro WebSocket and subscribe to channel.chat.message. It ships the raw message structure for each platform, so you would need to format it for your usage.

{
  "type":"subscribe",
  "nonce":"1736596309572-11",
  "data":{
    "topic":"channel.chat.message",
    "token":obj.detail.channel.apiToken, // your API token from onWidgetLoad
    "token_type":"apikey",
    "room": obj.detail.channel.id // Channel Id from onWidgetLoad
  }
}
#

Here is an example of a chat message structure from Kick:

{
  "id": "01JY3XJRP4Y3H571WZ5ZDNDEXK",
  "ts": "2025-06-19T11:01:00Z",
  "type": "message",
  "topic": "channel.chat.message",
  "room": "67a36a1f8a2abf0b4eb0f3fb",
  "data": {
    "message_id": "e7ff356c-9c59-4eb9-8f9e-9f77255caa9b",
    "broadcaster": {
      "user_id": 54674047,
      "username": "c4ldas",
      "is_verified": false,
      "profile_picture": "",
      "channel_id": 0,
      "channel_slug": "c4ldas"
    },
    "sender": {
      "user_id": 54674047,
      "username": "c4ldas",
      "is_verified": false,
      "profile_picture": "",
      "channel_id": 0,
      "channel_slug": "c4ldas"
    },
    "content": "Test message with emote [emote:1579033:emojiAstonished]",
    "emotes": null
  }
}
tough crane
#

cool thank you very much!

broken coyote
# hardy walrus Pinging <@143185429846425600> as I'm fairly certain flow chat had this "feature"...

@vital wadi here is what i use

    if (obj.detail.event.listener === 'widget-button') {

        if (obj.detail.event.field === 'testMessage') {
            let emulated = new CustomEvent("onEventReceived", {
                detail: {
                    listener: "message", event: {
                        service: "twitch",
                        data: {
                            time: Date.now(),
                            tags: {
                                "badge-info": "",
                                badges: "moderator/1,partner/1",
                                color: "#5B99FF",
                                "display-name": "StreamElements",
                                emotes: "25:46-50",
                                flags: "",
                                id: "43285909-412c-4eee-b80d-89f72ba53142",
                                mod: "1",
                                "room-id": "85827806",
                                subscriber: "0",
                                "tmi-sent-ts": "1579444549265",
                                turbo: "0",
                                "user-id": "100135110",
                                "user-type": "mod"
                            },
                            nick: channelName,
                            userId: "100135110",
                            displayName: channelName,
                            displayColor: "#5B99FF",
                            badges: [{
                                type: "moderator",
                                version: "1",
                                url: "https://static-cdn.jtvnw.net/badges/v1/3267646d-33f0-4b17-b3df-f923a41db1d0/3",
                                description: "Moderator"
                            }, {
                                type: "partner",
                                version: "1",
                                url: "https://static-cdn.jtvnw.net/badges/v1/d12a2e27-16f6-41d0-ab77-b780518f00a3/3",
                                description: "Verified"
                            }],
                            channel: channelName,
                            text: "Howdy! My name is MrBoost and I am here to serve Kappa",
                            isAction: !1,
                            emotes: [{
                                type: "twitch",
                                name: "Kappa",
                                id: "25",
                                gif: !1,
                                urls: {
                                    1: "https://static-cdn.jtvnw.net/emoticons/v1/25/1.0",
                                    2: "https://static-cdn.jtvnw.net/emoticons/v1/25/1.0",
                                    4: "https://static-cdn.jtvnw.net/emoticons/v1/25/3.0"
                                },
                                start: 46,
                                end: 50
                            }],
                            msgId: "43285909-412c-4eee-b80d-89f72ba53142"
                        },
                        renderedText: 'Howdy! My name is Bill and I am here to serve <img src="https://static-cdn.jtvnw.net/emoticons/v1/25/1.0" srcset="https://static-cdn.jtvnw.net/emoticons/v1/25/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v1/25/1.0 2x, https://static-cdn.jtvnw.net/emoticons/v1/25/3.0 4x" title="Kappa" class="emote">'
                    }
                }
            });
            window.dispatchEvent(emulated);
        }
        return;
    }

And then in the fields

  "testMessage": {
    "type": "button",
    "label": "Test message",
    "value": "Test message",
    "group": "Test"
  }
random lagoon
#

I have question concerning the chat commands, i want to do something advanced and idk how to go about this.

Id like to have a custom duel command for people to do like !kill <username> and have streamelement say "A hit has been placed on <username>" But im not finding much info in the doc. I dont really know where to ask sry if this is the wrong place

severe shell
obsidian dawn
#

I have a question I use chat GPT to come up with a good follow goal milestone I wanted to put on my stream and it's not updating do I have to be streaming for it to update or is there something that I'm missing last time I tried this it didn't work

potent halo
#

Well now we know ChatGPT didn't train on SE docs OMEGALUL

potent halo
obsidian dawn
obsidian dawn
potent halo
# obsidian dawn are you able to help get to work

No. I told you what was missing. Read the Docs at the specified page. There is a lot more wrong here then just not being able to update the Follower count.
If you're unable to code and unwilling to learn, then that only leaves commissioning someone.
And no I do not do commissions.

obsidian dawn
potent halo
#

Great! I think there were some resources listed in a previous chat. Gimme a sec

severe shell
potent halo
#

If you have other questions, no matter how basic, I'm guessing some can help you here

obsidian dawn
lime grove
#

hi is anyone able to give me help to get my stream working

#

it says you Cpu is not supported by twitch ehancded

severe shell
lime grove
#

ok thanks for the help much apreciated

wooden basin
severe shell
wooden basin
#

Alright, thanks for the clarification:

gleaming parcel
# severe shell Exactly. Kick doesn't send any other data info in a chat message other than the ...

Hi, I’d like to report a small issue and ask for some help.
I noticed a problem with the overlay sorting or search feature in StreamElement. For example, I have a project named "chat widget hello", and when I search for "hello", it doesn’t show up in the results. But if I search from the beginning of the name, like "chat", then it appears.

Would it be possible to improve the sorting or search algorithm so that it can find keywords regardless of their position in the project name? This would really help when managing multiple overlay projects.

Thank you in advance!.

hardy walrus
#

Is this in overlays or elements?

#

Because I just looked at both and it didn't return such an issue.

severe shell
hardy walrus
#

Unless you're having an issue that involves linguistical context we don't see.

analog garden
#

I’m new in streaming and im trying to stream but my game is not showing in se.live how can I fix it?

severe shell
#

@bright jetty I had this project on pause for a while, but took some time to finish it.

It fetches JSON from any public API, extracts values based on paths inside a template message, and returns plain text you can use directly in your chat.

For example, to get the first ability name from the Pokémon API:

${customapi.https://seapi.c4ldas.com.br/api/json-textify?channel=$(channel)&site=https://pokeapi.co/api/v2/pokemon/mr-mime&msg="(abilities[0].ability.name) is the 1st ability"}

sonic barn
#

hey so i need help getting my stream store visible. im streaming on twitch/obs. i've been working at this for hours trying to get it to work. i really want to use this system

severe shell
noble yoke
#

anyone good with editing overlays as far was adding the socials on the bluemoonstone overlay package?

severe shell
#

Oh, that's for "Elements". For overlays, just click on Edit button, and on the overlay page, select the item you want to change on the screen and on the left panel click on "Settings".
Then you can change it and save the overlay.

noble yoke
#

i've done that but it doesnt change the words after i've already changed it

severe shell
noble yoke
#

i figured it out thank you!

deft patrol
#

Hey, i have a question ? Where can i set my Hotkeys to canvas in SE multistream ?

rich atlas
#

Does anyone know how I can separate the audio but vertical canvas?

bright jetty
severe shell
#

I tested both options in my chat and both worked, using the same site from the screenshots.

#

Wait

#

Ok, I got your message. And I know what causes that. There are some invisible characters on the front end that escapes it working as url

bright jetty
#

So, I'm doing something wrong here

severe shell
bright jetty
#

Where is that coming from? That's not even in the response.

severe shell
bright jetty
#

Let me just delete the command and recreate it

#

Deleting and recreating still gives that first http://

severe shell
#

That’s so strange. Try to edit the command via chat, then.
!cmd edit affirm ${customapi.https:​/​/seapi.c4ldas.com.br​/api​/json-textify​?channel=$(channel)​&site=https:​/​/affirmations.dev/​&msg="Your affirmation: (affirmation)"}

bright jetty
#

Let me try something

bright jetty
#

Thank you

#

Except when I did that, it didn't put a space between "Your" and Affirmation, but when I go back and check the edit, there's a space. That's weird.

#

So now it's Youraffirmation LOL

#

But the response looks like Your affirmation

severe shell
#

Hmm, I need to do some more tests. I believe it has to do with the quotes. There is some “stylisation”. The quote symbol “ when I type on phone is not the same as the computer

#

If you’re on pc, replace those quotes for the normal ones.

#

"

bright jetty
#

Yeah, I fixed because I'm on PC. I just typed the whole thing out.

bright jetty
severe shell
rose heron
#

need help i tried to stream lastnight and some reason it says that stream elements has suspended me to stream to tiktok anyone help me as i cant see a reason why

untold quest
#

I think it's on their end

rose heron
#

Tiktok is fine am not banned from them

grizzled rock
#

Hey there!
I'm trying to build a sub-goal widget and somehow a Dollar-Symbol appeared.

#

When emulating a subscriber event, it's counting towards the goal and I don't know where the dollar Symbol comes from

severe shell
grizzled rock
# severe shell What is the code for that `20 / $50 Subs` part? Maybe you are capturing the wron...
    if (obj && obj.detail) {
        if (obj.detail.fieldData) fields = obj.detail.fieldData;
        if (!fields.subGoal && obj.detail.subGoal) fields.subGoal = obj.detail.subGoal;
    }
    if (obj && obj.detail && obj.detail.session && obj.detail.session.data) {
        const sessionData = obj.detail.session.data;
        if (sessionData['subscriber-total']) {
            currentSubs = parseInt(sessionData['subscriber-total'], 10) || 0;
        } else if (sessionData.subscribers) {
            currentSubs = parseInt(sessionData.subscribers, 10) || 0;
        }
    }
    // ...
    updateSubgoalDisplay();
});```
#

const displayText = `${currentSubs} / ${subGoal} Subs`;

severe shell
# grizzled rock ```const displayText = `${currentSubs} / ${subGoal} Subs`;```

Ok, that's it. Probably your subgoal field has the same name as your JS variable.
Go to your FIELDS tab and rename the subGoal item. Don't keep it with the same name as your javascript variable. Name it something like subGoalField, and later adjust your code to read that variable (basically just replace the fields.subGoal entries with fields.subGoalField).

#

What happens it that SE overlays tries to replace every {variableName} before running any code. So your JS variable is not being read like the template literal ${variable}, but something like $ symbol and replacing the {variableName} from FIELDS

severe shell
# bright jetty Thank you for your help, it was much appreciated.

I found the bug in my code for the page, it was adding zero-width characters on the chat code to avoid breaking the page layout (especially on mobile).
When copying the code, the zero-width characters were copied too, making the SE bot to respond with that "invalid url" error. It is now fixed.

hollow widget
#

Hi helooooo , sorry to come bother everyone , but i have a question
how to add a gradient to the username box in the chat? kinda like the pic (Silvervale chat)
I tried the CSS line for the gradient but it shows transparent

potent halo
# hollow widget Hi helooooo , sorry to come bother everyone , but i have a question how to add a...

So using https://developer.mozilla.org/en-US/docs/Web/CSS/gradient/linear-gradient doesn't work?
Maybe something superseeds this style. You can try to debug using browser devtools. Select one of the username boxes and skim through the styles tab until you find your gradient instruction. If its crossed out it has been superseeded, if it has a warning symbol there is something wrong with your gradient statement.

hollow widget
#

the code rn is this
'.user-box{
position: absolute;
background-color: {{userbackgroundColor}};
border-radius: 7px;
font-size:{{fontSize}}px;
z-index: 99;
top: 2%;
padding: 7px;
margin-top: auto;
left: {{sliderNickname}}%;
font-weight: 600;
text-align: left;
box-shadow: 0 0 1px 2px {{outlineColor}};
rotate: 1 1 1 -10deg;
}'

#

the css code*

#

but when i put the line into the userbackground color

It becomes transparent

potent halo
#

The thing that would be written there would be
background-color: background: linear-gradient(...)
which is invalid css. Either remove background-color or background and try again.

#

As long as it's invalid css it defaults to the next parent that has this property. It's most likely body which has a transparent background by default

hollow widget
#

still a no

potent halo
# hollow widget still a no

Just to test, can you replace the line in css with your gradient statement without the use of the variable. Just to see if there is an issue.

#

Otherwise devtools is able to help. You should look in there next

hollow widget
#

still not working D:

#

idk much about dev tools so i wont try , i'll just put that aside for now

#

IT WORKS WHAT

#

THANK YOU SO MUCH

#

YIPPEEE

honest dagger
#

im sorry how did you do that? I would like something similar for my chat

steady sierra
#

Anyone in here know what all is included in the SE.Live multistreaming plugin cloud backup functionality? Would the custom canvases be included in said backup? Asking here because im getting ran in circles in my support ticket currently where they dont seem to know the answer.

Thanks!

sleek summit
#

hello i kinda need help ive been trying to add a chat box but it wont allow me and it says this ''Messages fade after {{vm.widget.variables.delay}} seconds'' how do i change it or fix it?\

severe shell
lavish ravine
#

Hey everyone! Curious if y'all ever had any issues with the monthly counts not resetting?
I'm checking into aggregates in the overlay editor and it shows I had 4 follows instead of 0 though I did select "Calendar timing" in the Data settings. My SE dashboard does show the correct number though

broken coyote
lavish ravine
broken coyote
gritty vault
#

Hey everyone! I've been trying to figure this out for a while, but still couldn't get it done so thought I could ask here!

I've trying to do an API that could get information from another site (a donating site for where I live) and change a counter to show how much was donated automatically, anyone knows how to maybe do this?

#

I've been able to make it so the API can get the amount from this other donating site, just need to be able to update the counter

severe shell
timid bough
#

When are we going to add some games what we playing when we streaming on youtube, and choose the audience e.g everyone or adults only on tiktok?

flint sparrow
#

any reason why this pops up? now

azure creek
#

costum bot on activity feed
Im currently experiencing this issue its so annoying that all the videos on youtube and tutorials just show simply press this hamburger menu and bam its there. NOPE not for me and for many others

hardy walrus
azure creek
#

how can whe change the name of our bot now then ?

quiet bison
#

Hello! I am a developer of a livestreaming app, and I want to integrate the OAuth sign in for my app users. I submitted the form on dev.streamelements, to receive the access, like a week ago, and have not received any reply yet. Can anyone provide some advice regarding the API access via OAuth? Should I wait longer? I can provide any info you needed regarding the app and its API usage

lean solstice
#

is there a certain limit on how much I can embed things on the HTML of a custom widget? I tried to embed SVGs on it and at certain point it'll just keep saying it's saving even for hours

#

when I remove some of it it'll save as usual

hardy walrus
#

Unfortunately if you hit said cap anything not actually saved between changes and saves will be retained.

still juniper
lean solstice
#

I see 3 of them, to be precise

severe shell
severe shell
lean solstice
#

hmm.. ~900kB would be the limit then

#

total? or just the HTML

severe shell
opaque carbon
#

Hello! I hope someone can help me. I just installed the application and it doesn't allow me to open the S.E live docks.
How can I configure my OBS so that this tab becomes active?

winged pelican
#

How do people create a StreamElements overlay that shows a live subathon sub count updating on new subs, and lets mods manually update the count? nvm got it :3

worldly oxide
#

For Chatstats. What is the category, and item? It's not specified in the docs.
https://api.streamelements.com/kappa/v2/chatstats/{username}/{category}/{item}

I assume the category is stuff like "Just Chatting" correct or?

severe shell
worldly oxide
severe shell
#

If you have some luck, let us know!

worldly oxide
sage current
#

i have problem signing in in obs to my twitch account

wheat lion
#

when im trying to add points, the "current" in the json body, is it going to replace the user's existing points, or does that define how many points im adding?
So can i just set it to user: $username and then mode:add, but how do i define how many points im adding?

severe shell
wheat lion
#

I am not getting an error code but the point does not get added.. :/

#

ohhh okay, thanks!

#

I will try that 😄

#

OMG its working

#

thank you so much

#

I have been at this for days

#

hahaha

severe shell
wheat lion
#

ohhh okey! Bookmarking this. My problem is twofold.. I have zero aptitude for anything technical and code related, and im relatively good at language... so if theres a thing that means something else in language than it does in code, my brain just.. đŸ€Ż

#

Thanks again 😊

chilly ruin
#

Hi there, I need help with placing where to put my vertical canvas dock on obs studio because it is not letting me place it on where i want it to and was wondering if you guys could help me out

#

It is only letting me place it on the top half of the screen, whereas i would like it to be the full length of the screen so it is easier to see

mystic jewel
#

Can we use the CSS blur property in OBS?

hardy walrus
#

?

mystic jewel
#

Sorry typed it out better.

median ravine
mystic jewel
potent halo
# mystic jewel Can we use the CSS blur property in OBS?

Afaik, blurring of background imagery (eg your scenes) is not possible from a browser source.
Main reason being that css blur is rendered on browser-side, meaning it's missing obs context.
However it is possible to Blur stuff on the same page. For example.. unblurring a username into existence

potent halo
# mystic jewel I try to target the div with the correct custom CSS and it's not targeting it bu...

This is dependent of your div.
suppose your element looks like this...

<div id="my-id" class="myClass myOtherClass">Hi There!</div>

We can target this in different ways.
You can use div { ... } to target the element by DOM name
You can use #my-id to target by id
You can use .myClass to target by class
You can also combine all of those.
This Concept is called "CSS Selectors". You can google it and read up on it

mystic jewel
#

Hi! I got CSS blur working in OBS (see attached image), but I'm having trouble with targeting. I can target with body > div or * but #spotify-widget doesn't work even though that's the actual ID in my HTML. I tried #spotify-widget, [id="spotify-widget"] and "body > div:first-child" too which all did not work. Any idea why specific ID/class selectors don't work in OBS Custom CSS but broad selectors do?

potent halo
#

Anyway it's pretty much impossible to give you any accurate pointers without any code to look at other then how to use css selectors

mystic jewel
#

It was a window capture for the background but what I took a picture of was actually the browser source. I took this against a random background so you can see but I understand how the blur works now. Thank you!

#

With all the glass skewmorphism coming out it's a shame we can't use blur.

potent halo
#

Sadly yeah. I love that effect too. Did it for the homepage of my pet project LULW

mystic jewel
#

Yeah! I made a cute widget and it’s a shame I can’t make it clear blur haha. I guess they can still use it on top of an overlay.

worldly oxide
mystic jewel
worldly oxide
violet hearth
#

help me someone

severe shell
dusty dawn
#

Jå tem um tempo que minhas caixas de alertbox não estão funcionando, tanto no OBS, quanto dentro do OBS na opção de testar no 'Sininho"
jĂĄ criei uma nova pagina de alertas, mas nĂŁo aparece nada

severe shell
topaz creek
#

hey is it possible to make the overlays big enough for 3440x1440?

dusty dawn
severe shell
severe shell
# dusty dawn Nada ainda

Se mesmo fazendo logout e login nĂŁo funciona, entĂŁo sĂł resta abrir um chamado com a staff mesmo.

uneven oxideBOT
#

@dusty dawn —

If you need to fill out a support ticket, please use the command !ticket in chat, following the subject of your issue! For example, please type "!ticket My chatbot isn't working", and then follow the prompts from our bot!

hard marten
#

I am unable to see my latest subscriber's name from youtube on a widget. Please someone help.

median ravine
hard marten
#

Oh is it, then the last subscriber who shares the subscription should be displayed, right?

#

@median ravine

median ravine
hard marten
#

Right, but I dont see any of the name displayed.

#

@median ravine

median ravine
#

đŸ€·â€â™‚ïž

severe shell
hard marten
#

@severe shell I have reset the session data already but not helping. Also, what about the current latest subscriber, will it not show up in the widget and starting appearing after there is a new subscriber?