#dev-chat

1 messages · Page 32 of 1

mild cipher
#

If you enable the custom css for the alertbox, you can probably replace the <img> in the HTML with a <video> element

limber shard
#

And how do I get the video element? when I set change video?

#

Or do I need to put in the full url?

mild cipher
#

Something like

<video src="VIDEO_URL_HERE"></video>

ought to do it. You can grab the video's URL from the SE library by adding a video widget, selecting the video, then right clicking on the video thumbnail and copying its link

crisp needle
#

This is weird... Even as the code is first in the event receiver, it cannot recognize event as a redemption...

window.addEventListener('onEventReceived', function (obj) {
  if (typeof obj.detail.event.itemId !== "undefined") {
      obj.detail.listener = "redemption-latest";
  }
  
  const listener = obj.detail.listener;

  if (listener === "redemption-latest") {
    . . .
  }

What should I do to ensure it is being recognized?

#

Every other alert works fine

steady iron
steady iron
#

@crisp needle have you tried logging what value does the listener have when you do a redemption?

crisp needle
#

listener is "undefined"

steady iron
#

as in undefined eveytime? only for redemptions? Let me do a test

#

Mmm you're correct, it does come as undefined, I would assume this is a bug, let me check if this is expected

crisp needle
#

every time redemption is tested

crisp needle
#

do you have any updates, @steady iron?

mild cipher
#

You could just check that itemId exists, which only exists with redemptions

window.addEventListener('onEventReceived', (obj) => {
  if (!obj.detail.event.itemId) return;
  console.log('this is a redemption');
});
keen ivy
#

Hello, I would like to ask, how should the structure of body for drawing a contest winner look like.

viral patrol
#

It is PUT request to https://api.streamelements.com/kappa/v2/contests/:channel/:contestId/winner With valid channelId, contestId and Authorization header

keen ivy
#

yes, I know that, but how can I draw the option, what should the body containt, in documentation "body params" are "work in progress" @viral patrol

viral patrol
#

Oh. Mea culpa

#

@keen ivy

{"winnerId":"WinningOptionGuidHere"}
keen ivy
#

thank you 😄

simple olive
#

@steady iron I tried your awesome shoutout widget and only half of it shows on my screen and can't figure out why.

viral patrol
#

Do you have browser source with proper dimensions? 1920x1080 in browser source settings

simple olive
#

Yes @viral patrol I did that

steady iron
#

@simple olive Mmm never had that happen before, when you say half, do you mean half of everything or only half of the image or of the text?

#

If you use StreamlabsOBS, try disabling the hardware acceleration

#

also, on the streamelements page, do you see the full widget working?

burnt stratus
#

Hey guys! Am looking for an API or code to help me achieve a viewer list for viewer games where viewers can join the queue and be removed from queue by mods?

rugged rapids
burnt stratus
#

Also need an API that can call sources in my OBS from a chat command using in-stream currency, but that's less important right now.

#

@rugged rapids Many thanks! Will have a read of the setup guide 🙂

rugged rapids
burnt stratus
#

I'll take a look, @rugged rapids. You're exceptionally helpful. Just finished configuring my queue. Wish I'd known about it a year ago hahaha

lofty wigeon
#

When we are passing arguments to our own custom scripts, is there a way to tell the bot to pass all the text as argument 1?

For example: !command My Text Here.

Currently this is getting handled as $1 = My $2 = Text $3 = Here.

I'm trying to get it to be passed as $1 = My Text Here.

mild cipher
#

$(queryencode $(1:))

lofty wigeon
#

Thank you ❤️

simple olive
#

@steady iron it's half the image and half the text that shows. I've tried everything I can think of

steady iron
#

@simple olive and does it show correctly in StreamElements page?

pulsar willow
#

Hi there

#

Is there a way to integrate our SE store in my own website

#

Using any API ?

#

The /store part of the documentation of th API is empty

indigo flume
#

And Stream Store API end points

pulsar willow
#

Ah ok i was on the old one

indigo flume
pulsar willow
#

Was here 😄

indigo flume
#

Yes thats an old webpage

pulsar willow
#

And yes OAuth2 rocks btw 😄

indigo flume
#

Im trying to get it deprecated

pulsar willow
#

I wanted to allow my users to order some stuffs from the store directy from my own website

#

But i only see methods to delete / add etc ... items

indigo flume
#

List store items - this should give you a list of all the items and their content

pulsar willow
#

Yep

#

But i cannot make the sell on my website right ?

indigo flume
#

You will have to send an event when it happens

#

towards the activity feed i believe

#

Oh no

pulsar willow
#

Ok gonna check this

#

Thanks for the help btw

indigo flume
#

👍

pulsar willow
#

Some curiosity what are you using for your API ?

#

Express ?

indigo flume
#

Me? Nothing OkayChamp

#

I provide support and am knowledgeable to provide initial setup stuff

pulsar willow
#

Nah asking for the backend of the API 😄

#

Was curious 😄

indigo flume
simple olive
#

No @steady iron it didn't show correctly. At least not for me.

junior solstice
pulsar willow
#

Using the API @junior solstice

#

You have all the doc here

junior solstice
#

thanks

light isle
#

i know this was probably already answeered buttt how do i make like a top 3 chatter of that stream? and it restarts every stream'

warped wedge
#

hi guys , i am trying to set up " RECENT EVENTS ROTATOR BY THEFYREWIRE " , Is there a way to rotate followers, hosts , subs and cheers in one window and have it loop . As far as i can work it , it will only show latest followers , or latest subs . Which means i now have two separate windows . Also is there a way to include icons in the rotation , maybe in front of the writing like a cheer icon for cheers ? I will post a screenshot of what it could look like . I know one streamer uses something but i just cant figure out what app that is

#

so basically this rotates latest donation , then cheer , then follower and then sub just in the single window . If anybody knows how this might be possible pls let me know , thanks so much

steady iron
#

@warped wedge there is another version of the eventrotator from @mild cipher , he made it for Harris Heller, you can get it from here, this one has multiple events you can select:

dusk wind
#

Ohai.. I Was told to ask for anne#1111 about the custom widget 🍭

real dune
#

sounds shady.....

steady iron
#

@dusk wind @charred tundra is a reliable co-creator. Here there are many custom widgets, you can check the #widget-share channel or also the fiverr StreamElement's streamers market, where you can get someone to do something specific to your needs. Anne is there as well as here

warped wedge
#

Awesome guys thanks so much

#

@steady iron that is perfect , thank you so much . Really appreciate it .

runic grail
#

i have a script that does what i have captured into this gif, but that data is just an example of what im trying to get it to do. I am not sure how to incorporate FB's event data into this if that makes sense

#

i use streamelements if that also helps

urban spade
#

Hello guys :)
I have a question: Is there a possibility to change the color/size of individual phrases/letters in Alerts?
When I receive a donation, I'd like to have the Donators name in gray, but the donation amount in yellow? Right now it's only possible to do that, if you use two seperate widgets - but this usually introduces spacing-issues...

I hope someone can help me with this 🙂

mild cipher
#

@runic grail you would want to look at a custom widget. the documentation for it is in the channel header. Although the docs are pointed more at Twitch, a lot of it should translate over to FB. The first step would be to understand FB's event data structure, so add custom widget to a blank overlay and emulate some events and use console.log() in the JS to see what you can use, then tie your CSS animations to those events

#

@urban spade are you referring to the alertbox widget?

alpine iris
#

anyone built a Gif on Command?

#

just like that one called Video on Command in the custom widget page

urban spade
#

@mild cipher Yes, exactly! I basically need to change the color of the donator and the donation amount independently - without having to use 2 widgets. 🙂

mild cipher
#

@urban spade you can use some local custom css to do this - the overlay itself in the editor won't be affected, but it will be in OBS.

First open up your tip alert settings, go to Text settings > Advanced, and set the highlight colour to the yellow colour you want to use for your donation amount.

#

Then go back to the main alert settings and wrap the username in a <span>, inside the alert message itself:

<span class="alert-username">{name}</span> tipped {currency}{amount}!
#

Then in OBS add this custom css, and replace the hex code with whatever grey colour you want for the username:

.alert-username .animated-letter {
  color: #303030 !important;
}

Done!

vestal marlin
#

1 week later and i still can't use the streamelements oauth

#

that's pretty sad

urban spade
#

@mild cipher THANK YOU SO MUCH! I tried it out and it worked! 🙂 One more question if you don't mind: Would it also be possible to do that with the "Latest Tipper" widget? I just checked and there is no "Highlight Color" option in the advanced tab - so I guess you have to use a different code?

viral patrol
#

There's no highlight in labels widgets. I think that the best way to simulate one is to create two widgets next to each other, one with name, second with currency and amount, name aligned to right, amount to left and this should look like one widget

mild cipher
#

@urban spade in that case just use the regular text colour setting

#

And update the custom css to

.alert-username, .alert-username .animated-letter {
  color: #303030 !important;
}
#

(and wrap the label text in the same way)

Last tipper: <span class="alert-username">{name}</span> - {currency}{amount}
urban spade
#

Thank you so much for your help! Everything works flawlessly, you're a god! 😎👍

pulsar willow
#

hey guys! Could someone tell me how to make a discord custom commnad?

#

that would give people the discord link in chat

native trellis
#

you can make one yourself here:

#

or if you want it to be send every x minutes by itself:

alpine iris
#

anyone make a Gif on Command yet?

native trellis
pulsar willow
#

@native trellis i dont know how to make a custom command

#

like all these $ signs and stuff

#

i dont know what they mean

native trellis
#

it's super easy, you put in a command name like: !discord and in the response area you put something like: Here is the link to join my discord (link here)

pulsar willow
#

oh wait i got it

#

its all good

#

LOL

#

IM DUMB

native trellis
#

no problem

alpine iris
#

i guess not

native trellis
#

patience, those cool widgets usually don't get made in one day

alpine iris
#

yes master 🙇

broken coyote
#

i have one @alpine iris

#

no patience needed. ive had that widget for awhile now

alpine iris
#

Nice. Will you share the secrets? @broken coyote

broken coyote
#

I’ll post it in the morning

mild cipher
#

!dong

vestal marlin
#

@static wigeon the OAuth is still not working....

#

would be nice if we finally could get it running

reef granite
#

I'm trying to convert one of my custom widgets over to the Alert Widget "Custom CSS" and a lot of it seems pretty broken. Pasting in my json for the custom fields just breaks the whole window if you leave that page and come back.

indigo flume
#

If you are pasting the entire Fields contents, you might have to cut it down.

#

What I mean by that is, usually you don't need custom css on the alert widget, unless you are doing some special manipulation of it.

#

or special animation with the text and image together

#

the JS part of the alert widget can be handled by the variation conditions and you can just add the CSS for the animation and just set the image and sound in the variations

#

without actually using the gallery picker custom field.

sharp vault
#

Hi guys, @indigo flume pointed me in this direction for help with a widget request. I'm looking to display random clips, one after another, taken from all of the clips on my channel in a sort of "BRB/AFK" scene using the overlay editor.

The main requirements for the widget would be that it is truly random (so I don't switch scene and the same clip starts every time etc), and that the next clip auto plays after the previous one is done. Some nice additional things that would be cool to see (but aren't 100% imperative) would be an option to change the time scale the clips are chosen from, similar to the twitch clips page currently (top 7 days, top 30 days, top 365 days, top all time), the option to display somewhere (maybe bottom left of the clip?) the name of the clip and the user who created it.

If anyone is interested in helping me with this, then please get in touch! I don't know how things work around here exactly, but i'm willing to put some money down to have this worked on (providing it's a reasonable offer etc). Thanks for reading 🙏

mild cipher
#

I've made something like this before! I'll DM you

sharp vault
#

nice

broken coyote
alpine iris
#

thank you @broken coyote i appreciate it,

broken coyote
#

no problem

#

on the triggers. dont put a !

#

it will trigger in chat with a ! though

alpine iris
#

oh i see

#

the rick flair theme song is my sub alert lol

#

funny to see him on your wiget

broken coyote
#

lol love flair

alpine iris
#

me too

#

@broken coyote wow this works perfect, this is exactly what i was looking for, thank you so much!!! ❤️

broken coyote
#

no problem cap'n

alpine iris
#

Merica!

vapid iron
broken coyote
#

I need to make a rick flair emote

real dune
#

you also need to work on my widget....

broken coyote
#

HAHAHAHAHAHAHAHA

#

I can’t tell you how many times I’ve started it, then drifted off to something else

alpine iris
#

what widget?

broken coyote
#

He wanted a widget where when you get a win you could do like !win and a say green circle would pop up and if you lose it would be red. Kinda like a progress bar

real dune
alpine iris
#

oh

chrome saddle
#

Hi, patriiHello
I am trying to use API to request songs. I am currently using this code:

                        client.Headers[HttpRequestHeader.ContentType] = "application/json";
                        client.UploadString("https://api.streamelements.com/kappa/v2/songrequest/ChannelID/queue/", "POST", "videoID");

I tried Whole Youtube link and only the ID, but unfortunately I am still getting error 404 Bad Request. How should I request the video to make it work? Thank you!

mild cipher
#

@chrome saddle POST https://api.streamelements.com/kappa/v2/songrequest/CHANNEL_ID/queue with a JSON body:

{"video":"VIDEO_ID"}
chrome saddle
#

@mild cipher Thank you! patriiGold

worldly crown
#

Can someone make a wheel spin widget for me ? 🙂

#

because I wanna show my bean boozled spin on stream 🙂

#

These things needs to be added
Dirty Dishwater/Birthday Cake
Stink Bug/Toasted Marshmallow
Barf/Peach
Toothpaste/Berry Blue
Rotten Egg/Buttered Popcorn
Stinky Socks/Tutti-Fruitti
Canned Dog Food/Chocolate Pudding
Spoiled Milk/Coconut
Dead Fish/Strawberry Banana Smoothie
Booger/Juicy Pear

steady iron
worldly crown
#

But i can't click on it when i'm streaming it has to auto rotate when it comes active

#

and even when i try to

steady iron
#

Ah! A proper widget then, I believe you would have to commission it, or hope someone will do it for free

worldly crown
#

enter the browser :p

#

then I only see a black screen

#

we shall see 🙂

viral patrol
worldly crown
#

@viral patrol I did and you did very great work but Its to difficult for a not programmer to find the solution :p

viral patrol
#

Oh. Create a "custom widget" then copy/paste contents of each file to corresponding tab in code editor

#

Then in JS you can replace segments via just editing text of each one :

  {'fillStyle': '#ee1c24', 'text': '300'},
worldly crown
#

WHat do i have too do with the json file? @viral patrol

viral patrol
#

JSON goes to fields tab

worldly crown
#

aight 😉

#

thanks for the help !

#

I'm editing it right now !

viral patrol
#

I keep my fingers crossed for you! This should be easy for non programmer!

#

Programming 101 😉

worldly crown
#

I can program a bit but its only machines haha :p

viral patrol
#

Hmmm. Copypaste is not 101 actually, it is highter. A lot of work is copy paste

worldly crown
#

well JS looks very similar like "arduino"

#

like the // stuf

#

to put text

viral patrol
#

Oh // specifies comments section. Anything within same line after // is ignored

worldly crown
#

hmmm

#

It doesn't work 😦

#

hmm

#

@viral patrol How can i get feedback in text in chat where the arrow has stopped?

viral patrol
#

Oh. There won't be response in chat. As there's no pointer in default

#

(so you can add any image widget in any place)

worldly crown
#

aight 🙂

#

I changed it !

kind dock
#

So i just revisited my IFTTT idea i posted 9 months ago on the idea board and started to wonder if there was a better way to implement IFTTT than SE IFTTT Activity that was my original idea. Here Webhooks came to mind, so i'm asking here if there is a way to call a webhook with 1,2 or all 3 values that webhooks supports, or is my idea that just posted in #💭︱feedback-and-ideas the way to go?

burnt gazelle
#

hello all, i feel so dumb asking this but how and where in Stream elements can i create my own widget ?

#

i have all my code i wanted to test but cannot for the life of me see an option in the over lay eidtor to create a custom widget

broken coyote
#

in the editor. at the top click "Widgets" then scroll down and click "Custom Widget"

burnt gazelle
#

Ah brilliant thank you

broken coyote
#

np

vestal marlin
#

who is in charge for oauth access?

rigid sapphire
#

With custom widgets is it possible to have a map? i want to be able to link text to a url

thick mantle
mild cipher
#

${1} for the first word after the command

#

Or ${1:} for the entire message

thick mantle
#

So.......

!color green

?value1=${1}

#

To catch "green"

#

?

mild cipher
thick mantle
#

Wicked, thank you! ❤️

livid pelican
#

hi the Holiday Text Rotator widget is not displaying in my browser source.

rich pine
#

Need some help 🙂 Trying to get my widget updated for Mixer but I can't get Embers/Sparks to appear in the list. Any ideas? (Custom event list)

mild cipher
#

First guess would be to ensure you're listening to embers-latest and sparks-latest

rich pine
#

ok, i'll do some digging. I didn't have to change much before so i didn't dig to much. off to look at the js now

#

Actually is there a way to view the regular event list code?

pseudo siren
rich pine
#

Thanks, I’ll see if I can get it working. The basic event list does what I need but can’t have it in the layout I like. So I have the custom with the proper image/layout but missing the ember/spark events. I know enough to be a little dangerous on code

dapper fern
#

How easy would it be to edit a custom widget to pull data from mixer instead of twitch? (its the "stream labels" ticker that harris heller advertises)

mild cipher
#

I heard it's getting a new update very soon crazy_think

dapper fern
#

oh nice, I was going to look into doing it but I'd probably break it xD

unique mountain
#

So CSS is not my thing i see That we can do Custom CSS coding on the Alert boxes I was wondering
if Im doing this right or wrong? to make the Alert box wiggle?

    0% { transform: rotate(0deg); }
   80% { transform: rotate(0deg); }
   85% { transform: rotate(5deg); }
   95% { transform: rotate(-5deg); }
  100% { transform: rotate(0deg); }
}

h1.wiggle {
  display: inline-block;
  animation: wiggle 2.5s infinite;
}```
But every time I try to run the alert it breaks ![LUL](https://cdn.discordapp.com/emojis/447032269341982730.webp?size=128 "LUL")
mild cipher
#

What are you trying to make wiggle?

unique mountain
#

Im trying to make the alert box wiggle LUL trying to do something Extreme for certain Variants but Failing so hard at it I Haven't messed with HTML CSS or Javascript in Years probably since i was in Middle School LUL

#

@mild cipher

mild cipher
#

If you want to apply the animation to the entire box, add the animation to the top-most container and that should do it

#

In this case, at a glance, it looks like the .text-container class

unique mountain
#

hmm will do

unique mountain
safe flax
#

Can someone help with this? for some reason it is showing the wrong colors for an inline color change

#

FFF should be white

#

note also writing it as #ffffff and rgb(255,255,255) show this teal color or green.

#

figured it out - not sure where there was a break but something wasnt aligned right. copied and pasted from notepad and it worked raysT

#

is it possible to run an if then statement inline raysL

#

was thinking i could do if train count hits x#, change color

mild cipher
#

Not directly in SE, but you could achieve it in OBS

safe flax
#

^ good song ur listening to btw

mild cipher
#

I need to check my idea real quick, I just realised a flaw with it lol

safe flax
#

requires java afaik

#

Heres my thing im making tho raysLurk

#

follow streak , thought it would be cool to have the symbol and number change color

#

and do a statement for the timer to have it fade flash when under 1 minute

mild cipher
#

Eh nah, it won't work. You can target specific amounts, but you can't persist a colour after a certain amount. I was going to suggest to wrap your {amount} with a tag and give it a class like amount-{amount}, then you can target specific amounts with a CSS selector (i.e. .amount-5). I tried with a data-* selector too, but SE doesn't seem to save it sadly

safe flax
#

could be worth looking into raysY

mild cipher
#

I used it in the past to remove x1 from the sub label, and only show months where the amount was 2 or greater, but in that case I only had to target .amount-1 and set it to display: none; so that was a simple case haha. Feel free to experiment though!

safe flax
#

Thats also a good idea raysY

simple wraith
#

Good morning folks! Looking forward to share some ideas and help working out my concept as a working project for SE users! Just a general question, what's the easiest way to update iterations when updating a widget in progress?

indigo flume
#

you mean version control of custom widget?

simple wraith
#

When we get that far, yeah, so far I've shared the jsfiddle, but that's about it 😄

livid anchor
#

Does anyone know how you can output custom gifs on command from the chat?

indigo flume
#

Theres no version control within the overlay for custom widgets @simple wraith

#

But I did saw your submittion, which is being widgified by one of our Code Gurus for you 🙂

simple wraith
#

Just an overwrite kinda thing then?

#

Nice!

indigo flume
#

@livid anchor Custom gifs on chat command? Elaborate

livid anchor
#

😭

simple wraith
#

@indigo flume looking forward to enhancing and polishing it :)

indigo flume
#

@livid anchor Can you provide more details on what you want to achieve?

livid anchor
#

A command is sent from the chat and the bot sends it to the overlay, after which the GIF is launched in OBS

#

I thought to implement this through the store and its widget in the overlay, but to no avail

indigo flume
#

@livid anchor Steps to make a command trigger sound on stream:

  1. Go to Stream Store page here: https://streamelements.com/dashboard/store/items
  2. Add an item that has these settings on it:
  • Stream Perk
  • Loyalty settings to your desire
  • (Next step) Add contents (image and/or sound you want to play)
  • "Redeeming this item shows an alert
  • Redemable via chat
  • Skip Requirements
  1. Get the item name/command from the 2nd creation page
  2. Go to commands page here: https://streamelements.com/dashboard/bot/commands/custom
  3. Add command with desired name and have response for command as: ${redeem item_name_here}
  4. Go to your overlays and edit the overlay you use.
  5. Click on "widgets" and add "Store redemptions" widget. Click save and you should be golden.
  6. Test your own command in chat and have OBS or editor open to hear sound
  7. ???
  8. Profit in viewer interaction and that dosh FeelsMoneyMan
livid anchor
#

Does 'Store redemptions' display a specific product, and not just the fact of buying something in the store?

indigo flume
#

Since this is unrelated to #dev-chat at this point, I'd suggest to move to #helpdesk-twitch , but to elaborate - "Store Redemption" is the name of the widget and it will display the image/gif you've placed in the store item it self, as long as you've chosen "Show as alert"

livid anchor
#

Aww... Thank you very much!

#

You gave me hope 🙂

charred shale
#

Are the object keys for custom code in the overlay editor documented somewhere for mixer?

indigo flume
#

I believe they are the same, but just renamed a bit - embers-latest, sparks-latest, etc

#

The custom widget code variables are present in our system, but community driven documentation(more or less)

#

you can always just console.log(obj.event) and see what you get on an event 🙂

charred shale
#

Why didn't I think of that first... feeling lazy lol thanks!

simple tendon
#

This could be a basic question, but is there a way to allow the sounds through bits and/or loyalty points. I have then setup with loyalty points atm but would like to have them with bits too

steady iron
#

@simple tendon the alert box widget includes a specific configuration for cheers, and you can configure the sound and or video with specific amounts of bits

#

Edit the overly, click in the alert box widget (usually it is the same one that shows your follows and subs) and on the left select Cheers, clicking in the 'cog' icon

#

the Twich loyalty points I'm not sure if SE has a function for those yet

simple tendon
#

Thanks @steady iron I'll take a look and see if I can set that up. I do have cheer alerts configured and will see if I can get variations to work.

steady iron
kind dock
#

is there a way to ignore the response from urlfetch and just let the bot post what ever else there is in the response box when you setup the command?

#

this is the default response from IFTTT

mild cipher
#

Are you not able to edit the response on IFTTT?

kind dock
#

ill have another look 🙂 might jsut be me overlooking something

#

nope, you can't edit response

mild cipher
#

In that case another option would be to call a custom script, which forwards the event to IFTTT while returning a custom response back to SE. Judging from your username I assume you have a website, so you could host the script there

kind dock
#

that was my original plan and got half way through it when i realised i could post the values directly in the URI

#

but seems like i have to finish the script

mild cipher
willow plank
#

Hello! When i do the onWidgetLoad I get a lot of nice information, such as session stuff etc, can I somehow get these as they update because onEventReceived seems to be rather limited data?

#

^ is this the onSessionUpdate ?

mild cipher
trail sequoia
#

I would just like to say whoever made the custom overlay editors little ide bigger....THANK YOU!!!!

pulsar willow
rich pine
#

Ok, I am failing hard 😦 I can not get embers or sparks to work

broken coyote
#

@rich pine

buoyant violet
#

Hi all. So Im working on setting up adding youtube song through the api and ive got it working. However, this is for a channel I mod for and I feel a bit uneasy asking for the JWT. Is there a standard way for addressing this issue? Maybe some sort of encryption layer between me and the token?

#

The reason Im doing this btw it so I can setup whispered confirmation after songs have been added, rather than clogging up chat with song requests

mild cipher
buoyant violet
#

ok thanks. i had seen this but wasn't sure it was appropriate for my single hacked together script.

mild cipher
#

Unfortunately the nature of SE JWTs means it's all or nothing, so the only way to create scope-based tokens limited for specific endpoints is to direct the user through the oauth flow. You could possibly put together a temporary backend for the purposes of getting the streamer authorised, then just keep a note of a refresh token or something, then you can use that to create access tokens whenever you need them

buoyant violet
#

yeah makes sense. thanks for the help

feral plank
#

Greetings my fellow 5Head devs! I'm trying to convert my SL alerts to SE, but for whatever reason whenever I use custom html/css/js and try to set elem.innerHTML = name (name taken from the default code to get the username) it doesn't set it at all unless I set my elem class to usernameContainer BUT Then I lose some other hardcoded data so I'm really confused

#

lmao I figured it out, typo in a variable (((((:

main root
#

Is anybody else having trouble with the store/channel/items API? Every time I try to call it I just get served a 500...

#
  "statusCode": 500,
  "error": "Internal Server Error",
  "message": "An internal server error occurred"
}```
#

https://api.streamelements.com/kappa/v2/store/{{ se_channel }}/items?limit=100&offset=0

#

I'm passing the JWT as the Authorization header

#

I'm also just getting 404s back from the points/channel/user API, so I'm thinking I've done something weird / wrong here.

#

Never mind...

#

The documentation could really use some TLC though

#

It's very unintuitive to me that the "channel" ID passed to all these APIs is not the Twitch User Login.

#

Except, apparently, in some places. So I suppose the workflow to follow is to call /channels/twitch_user_login to get the _id field off that and then pass that to the other APIs?

mild cipher
#

ID is preferred since users changing their Twitch name could easily break stuff. You can also call to https://api.streamelements.com/kappa/v2/channels/me with a valid Authorization header to get the associated channel details

main root
#

Sadly the channel is not mine.

#

Or that would work 🙂

#

Other silly question - how do I use the APIs to set a user's points? Do I need OAuth tokens for that instead of the JWT?

#

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

mild cipher
#

For your own channel or someone else's channel?

main root
#

This would be for mine at the moment

#

When passing my JWT it still basically tells me to get rekt

mild cipher
#

What does your call look like? thonking

main root
#

Basically - give myself points

#

And then my bearer token follows

#
> Host: api.streamelements.com
> User-Agent: insomnia/7.0.5
> Cookie: __cfduid=d6199d6da119563c3a7c76f1674f6dd651575435709
> Authorization: Bearer ```
mild cipher
#

I think it goes /points/channel_id/username/points - username is used for viewers since they may not have an SE account

main root
#

It shouldn't matter right?

#

That could be my twitch username...

#

lol

#

But that's good to know either way

grim karma
#

I'm messing with a widget that reads off tips to read subs instead. It works, just gifted subs displays a NaN number and I'm trying to see if anyone could give it a quick look and give advice on how to fix that.

main root
#

This might help too

#

Here's what /channel/me returns

#
  "profile": {
    "headerImage": "https://cdn.streamelements.com/static/user/profile_header_default.png",
    "title": "miritest1's profile"
  },
  "provider": "twitch",
  "broadcasterType": "",
  "suspended": false,
  "_id": "5de700d9dd5cf1456b1c848e",```
#

And a bunch of other stuff we presumably don't care about

#

So the bearer token is clearly associated with that channel ID

#

wait wtf

#

lmaooooo

mild cipher
#

Wrong ID? lol

main root
#

Oh yeah

#

all day

mild cipher
main root
#

💯

#

But my other question still stands - how would I make this work for another user's channel?

grim karma
#

i'll hit back later XD

main root
#

Just make them OAuth and get the store:write scope?

#

@grim karma I've been using the API for about 1 hour now so I'm not going to be much help LUL

grim karma
#

it's alright lol

main root
#

I work for Twitch tho...

grim karma
#

_>

main root
#

But I don't think that helps you either

mild cipher
#

@grim karma new gifts show up with an amount of gift which is probably what is giving you the NaN - if someone has previously been subbed before and they are gifted, then amount will be their resub amount

main root
#

typescript to the rescue

grim karma
#

hmm

main root
#

string | number

grim karma
#

wait.. @mild cipher so how would i get resub data?

#
subdata = data["subscriber-goal"]["amount"];

  if ( listener == 'subscriber-latest' ) {
    subdata = subdata + event["amount"];

    reloadGoal();
  }```
#

currently doing this

#

ignore donation its supposed to be subdata

mild cipher
main root
#

Can you please add that to the documenttation LUL

#

Does not mention that anywhere

mild cipher
#

I don't work for SE or handle any of that stuff LULW I believe the docs are in the process of getting updated, and oauth2 will definitely be getting proper docs when it fully comes out of beta

main root
#

Gotcha.

#

That makes sense.

mild cipher
#

@grim karma amount will always be the months, so it looks like you're adding months to your goal instead of individual people. The only time amount will be people is when the event data has bulkGifted and is true (community gift subs) in which case amount will be the number of people that have been gifted

grim karma
#

hmm

#

so maybe if statements for resubs and bulks

mild cipher
#

Depending on what you're attempting to do, it might be easier to just listen to onSessionUpdate, which will give you the latest subscriber-goal amount

grim karma
#

ooo

#

mind if i dm you the code?

mild cipher
#

You'll receive onSessionUpdate for every event (follow/sub/etc) so you can just get the amount and perform your action if it's different to the previous amount

window.addEventListener('onSessionUpdate', (obj) => {
  const session = obj.detail.session;
  const subs = session['subscriber-goal'].amount;
})
#

and sure

rich pine
#

@mild cipher would you mind if i send you something? been trying but keep failing 😦

mild cipher
#

@rich pine sure

covert vortex
#

Hi, is there any way to create a custom tip goal widget? I tried to create a custom widget and copy the fields HTML, CSS, JS and Custom Fields from a custom tip goal widget made for Streamlabs but it didn't worked..
I don't know too much about programing but any tip to helpme is very welcome.
The custom tipgoal widget I mentioned is this one:
||https://nerdordie.com/product/free-christmas-overlays-and-widgets/||

eager ginkgo
#

Are you trying to add that theme to your SE dashboard?

covert vortex
#

yep, a theme just for my tipgoal widget

eager ginkgo
#

If you re-download it, does it have a StreamElements quick setup?

broken coyote
#

it doesnt

eager ginkgo
#

You didn’t do that one yet?

covert vortex
#

it doesnt =\

eager ginkgo
broken coyote
#

ive had it done. they just never put it in the download yet

eager ginkgo
#

I’m only kidding

#

I’m not surprised.

#

Seems that they take their sweet time

#

@covert vortex you can check with Nerd or Die support and ask when they’re going to add StreamElements to that package

broken coyote
#

lol that would be me

eager ginkgo
#

Are you officially hired by NoD now?

broken coyote
#

yea

eager ginkgo
#

Well shit

#

Yell at this guy @covert vortex

#

It’s his fault

covert vortex
#

kekw

eager ginkgo
broken coyote
#

yea. screw that guy

eager ginkgo
#

What a jerk

#

Making these overlays actually work on a good platform and stuff....who does that?

broken coyote
#

not me!

covert vortex
#

well, you have a code guru role, I hope you can helpe a little bit with this

eager ginkgo
#

He’s the guy that actually integrates the Nerd or Die overlays with streamelements

broken coyote
#

i bought this role. paid 5 bucks fo it

eager ginkgo
#

He will get you taken care of

#

I only paid $1.99 for mine

#

Black Friday sale

broken coyote
#

WTF. i was ripped off

#

i dm'd u @covert vortex

eager ginkgo
#

Told you there were wizards in here @covert vortex SEheart enjoy!

covert vortex
#

ty so much guys 😉

eager ginkgo
#

Thank the wonderful lawyer @broken coyote

broken coyote
#

hahahaha i forgot all about that

eager ginkgo
#

Muah ha ha

main root
#

Oh snap there's a Twitch Staff role. gimme gimme gimme LUL

#

But more seriously do feel happy to reach out if people have trouble with Twitch sides of anything they're working on. I can hopefully help take a look.

elfin arch
#

Any way to IP ban people from Twitch @main root ? .... I know a few streams that have 'persistent trolls' and multiple accounts.

main root
#

You can't IP ban people because you never know what type of NAT they may be behind. For example if they're on a uni network you would ban the whole campus lol. Best thing to do is report and ban.

mild cipher
#

@main root Oh snap, in that case I have a question if you don't mind- do you know if or whenabouts channel points and twitch polls might be opening up their API to third-parties?

static wigeon
#

@main root I'll give you the role if you can confirm your staff acount. ppHopAround

crisp needle
#

Hey! Quick question - how can I reference image uploaded to "image-input" type field in widget?

viral patrol
#

Fore example <img src="{fieldName}"> or in CSS background-image:url('{fieldName}');

crisp needle
#

Lemme check it

#

Hm... not working

viral patrol
#

It definitely should. Checking it now

crisp needle
#

maybe I need to redo whole widget as I copied from previously working one...

viral patrol
crisp needle
#

the field name is the same

#

image is in small res

#

24x24

#

refreshing the page didn't help

#

new project neither

#

is there a bottom limit for image sizes?

#

Ah!

#

The name shouldn't have a hyphen

#

"some-name" is not recognized

#

"some_name" is

viral patrol
#

Yup. Great you found it on your own. I think this is because this tries to do math operation on templating variables when - is used there

crisp needle
#

Thanks for help @viral patrol

main root
#

@mild cipher I'll see if I can get more details today. Don't know off the top of my head. 😁

#

@static wigeon yeah for sure. What's your username on Twitch I'll whisper you. Just DM it to me.

pseudo siren
#

@main root Styler is styler

main root
#

Well that's easy.

high swallowBOT
main root
#

I think it already is. I whispered you either way.

pseudo siren
main root
#

Yeah got it.

#

👍

#

Thanks.

pseudo siren
#

@static wigeon 👆

main root
#

That got really off topic. Sorry lol

native trellis
#

no problem

viral patrol
#

Continuing offtop in my cave 😉 And about all way around - I heard some time ago that people that help different streamers (mostly coders, graphic designers), can get "verified" badge somehow. 😉

mild cipher
#

quick someone write some code or something

native trellis
mild cipher
viral patrol
#
#define TRUE FALSE;
#

Done.

#

Happy debugging

main root
#

You are the worst.

mild cipher
main root
native trellis
#

but if i give support here, i am helping streamers as well 🤔

pseudo siren
viral patrol
#

And nobody noticed I used wrong syntax.

main root
#

@lx that's worse lol

viral patrol
#

No QA here

pseudo siren
main root
#

I mean that was definitely valid in some language haha

viral patrol
#

Yup. There are so many languages around.

fresh vigil
#

Hi, I was wondering if I could get some help on part of my overlay. I had a sort of "marquee" made by someone here that acted like a news ticker at the bottom of my screen that ran subs/hosts/raids/follows. Over time, it just shows old hosts and very little of the newer stuff. I wanted to see if I could get it to cycle through new events rather than holding on to older stuff

main root
#

@pseudo siren stalker Kappa

pseudo siren
main root
#

I'll get a less emo picture.

viral patrol
#

@fresh vigil If this marquee uses same data as Event List, it should have it in proper order.

main root
#

It kind of sounds like it's not subscribed to the event queue

viral patrol
#

But if it gets old events - it should catch-up on reload

fresh vigil
#

I'm gonna be real, you guys have coded more in the past 24 hours than I have my whole life. I have no clue how to check or fix it

main root
#

Can you share it somehow?

fresh vigil
#

You want the code?

viral patrol
#

Yup. That would be the best

#

You can use jsfiddle

fresh vigil
static wigeon
#

@main root You got the role ppHop

native trellis
pseudo siren
native trellis
#

also, @static wigeon what the hell is your panel section on Twitch?

static wigeon
#

don't worry about it LUL

pseudo siren
native trellis
#

first time i looked i pressed F5 because i thought it broke

static wigeon
#

Then it's working as intended LUL

native trellis
tribal moat
#

What do you mean? It's beautiful

native trellis
#

yes it is, and you don't see that a lot

#

it almost feels like a work of art

#

@tribal moat you still use the old logo i see 😛

viral patrol
#
ฏ๎๎๎Ỏ͖͈̞ฏ๎๎๎ฏ๎๎๎Ỏ͖͈̞ฏ๎๎๎
#

This is not scary

static wigeon
#

||JebaiteD||

main root
#

Seriously what are those panels hahaba

viral patrol
#

Just channel description that has a lot of accents.

#

Styler is from Viking country, and their accents are strong. As you can see in description.

buoyant violet
#

Ive setup adding youtube videos to the queue through the api but since I am using my JWT the queue shows all the submissions come from me and not the user who called the command to add the video. How could I pass the username of the submitter through the api so that the queue shows the correct names?

main root
#

You can use OAuth and get a token for the user on their behalf.

#

There may also be an easier way.

buoyant violet
#

so the use case it submitting songs to the queue through twitch chat. the script ive written will be called by potentially anybody in chat. id like their usernames to show on the queue in streamelements. i dont think oauth is appropriate for this use case, unless im mistaken

#

im wondering if i can send the username through the post call where i add the song to the queue but its unclear what the data field would be for this or if this is even the way to do it

main root
#

If you're using Twitch Chat don't you have the user's name on the IRC message?

#

Oh never mind I see what you're saying. Let me take a look.

buoyant violet
#

ok thanks

main root
#

Which API are you using to add the song?

buoyant violet
#

songrequest/channel/queue

main root
#

I don't even see that in the documentation anywhere haha

buoyant violet
static wigeon
#

I'll try to assist, the docs are lacking quite a few things.

buoyant violet
#

thanks

main root
#

Just looking at the response, what if you pass a "user" field to it? or a "user_id" field? Do either of those work?

#

Or better just let @static wigeon tell you Kappa

buoyant violet
#

no

#

i also tried username

#

but the queue still shows "added by: you"

static wigeon
#

So there's no way to programmatically add songs to your queue with another user.

main root
#

F

static wigeon
#

Using that endpoint will add it as you like you are seeing

buoyant violet
#

gotcha. so when the bot does it through the standard !songrequest its using another endpoint?

static wigeon
#

That's correct

#

The API you are looking at bypasses majority of the song validation songrequest offers.

#

Meanwhile the one we use for the bot does the full validation.

buoyant violet
#

yeah i realized that when i had to reproduce all the permissions and song filter checks LULW

#

im only doing this so i can get songrequest to whisper confirmations

#

and thats only possible for custom commands

#

any ideas on a workaround for the user thing or its just not possible with the available endpoints?

static wigeon
#

There's currently no workaround unfortunately feels

buoyant violet
#

lol okay, its just a minor nuisance anyway

#

the streamer im writing this for just wont be able to call out people for their songrequests blinkxHands

#

thanks for the info

mild cipher
#

Perhaps you could make your own custom !next and !song commands too, if you can store the request IDs and usernames together in a database somewhere

main root
#

@mild cipher nothing official, but don't hold your breath for a Channel Points API...

mild cipher
buoyant violet
#

i have written my own song and songlist commands, not next yet. but wont there still be the same issue with the way to queue displays?

mild cipher
#

Well on the official one yes, but not if you replace it with a link to your own queue page POGGERS

buoyant violet
#

oh interesting gwesmart

static wigeon
#

@main root What team are you on at twitch?

main root
#

That's classified Kappa

#

I'm working on some new stuff rn, but have previously mostly worked with / on Extensions

mild cipher
#

The Not Giving Me Channel Points API team

main root
#

I asked them if I could make it.

mild cipher
main root
#

It will likely exist eventually, but not right this second.

mild cipher
#

Haha it's all good. Hopefully the same for polls too! So many cool new things

#

I def wanna make an extension too. I've looked at it on and off but never really sat down and dedicated any time to it. I think around the time I was actually going to do it, Twitch was overhauling the developer rig and redoing the dashboard and all that so I put it off, then I just didn't get back to it twp_thonkwp_anim

main root
#

Also there's slightly more work involved in making a public API than casually writing some code apparently... Kappa

#

Extensions have gotten a lot easier to make IMO. You can develop them locally w/o the dev rig really easily using local test.

dapper fern
#

Can anyone give me a rough idea of what would be involved in changing some custom widgets that work on twitch to working with mixer?

mild cipher
#

Follows and subs should be the same event names, so I'm guessing you're looking at cheers to sparks/embers?

#

Anywhere where you see a listener prepended with cheer- (e.g. cheer-latest), you need to switch to embers- (i.e. embers-latest) or sparks-

dapper fern
#

ok, time to get my hands dirty i guess

native trellis
dapper fern
#

NEVER

#

awww yeah, got the rotating feed thing temp working until its "officially" updated

native trellis
#

just re-upload it in the widget share as your own eyes1

dapper fern
#

haahaha

#

no 😛

#

just changed the "bits" code to what I was using on mixitup as a temp work around ⬢

#

i mean, if anyone wants it, ofc I'll share but I dont wait people to think its "mine"

mild cipher
#

I've technically updated it, I'm just waiting on Sam to send me the new icons lulWut

native trellis
#

maybe tomorrow when he's live

dapper fern
#

tell him to stop being a bish and hurry tf up 😛

mild cipher
dapper fern
#

now, to break... i mean try and "update" the stream-a-thon widget someone made o_O

simple wraith
#

@mild cipher , just made a small update to the stuff for the sub-goal widget.. it's pretty now 😏

main root
#

And only like half of those are against ToS LUL

simple wraith
#

shhh

#

it's a birthday party LUL

dapper fern
#

oooof

#

ok, so im trying to edit this code in relation to a streamathon widget, how would I go about removing the check for tiered sub checks and have this just react off of a new sub?

        if (data.bulkGifted) { // Ignore gifting event and count only real subs
            return;
        }
        if (parseInt(data.tier) === 2000) {
            if (fieldData.sub2Seconds != 0) countdown(fieldData.sub2Seconds);
        } else if (parseInt(data.tier) === 3000) {
            if (fieldData.sub3Seconds != 0) countdown(fieldData.sub3Seconds);
        } else {
            if (fieldData.sub1Seconds != 0) countdown(fieldData.sub1Seconds);
        } ```
#

im assuming I can remive the fielddata.sub2 and 3 from the code and the fields page

#

also im assuming the code currently ignores gifts?

mild cipher
#

@simple wraith oh noooo haha I've spent most of today converting it and adding a bunch of stuff LULW I haven't changed anything aesthetically (aside from aligning the checkmarks on the right) - so what I think might be best is if I give KeiZar the widget tomorrow as he wants to put it out then, and you can give him an updated design later?

simple wraith
#

I think that would be a good plan of approach! It's a few lines CSS and i think a div or two moved/added, nothing very breaking in it's core anyways!

#

Thanks @mild cipher

violet helm
#

Ok so here is what I have got. I have a overlay that is in 1080p and inside that a alert box sized 1920 by 1080 (perfect fill). I turn on custom CSS and in the html editor I replace the whole img tag with
<video controls autoplay src="https://cdn.streamelements.com/uploads/thenumbersandlettersformyfile. webm">
The animation loads and plays fine but the text is nowhere to be seen.

Any idea where the text would be??

#

(also might be worth mentioning that the webm file is also 1920 by 1080)

mild cipher
#

@dapper fern you should be able to just remove that if block and go straight to countdown(60) or reference your seconds variable

...
} else if (listener === 'subscriber-latest') {
  if (data.bulkGifted) return; // Ignore gifting event and count only real subs
  countdown(60);
}
#

@violet helm are you sure the video hasn't just forced the text off screen? thonkingintensifies try adding position: absolute; z-index: -1; to the .image-container class in the CSS

violet helm
#

Wow that was an easy fix

#

Thanks dude

#

Would you know how to move the text without the video shifting with it?? @mild cipher

I just tried adding a margin-top to the text container in css and the whole video moves with it and cropped out at the bottom

mild cipher
#

position: relative; top: 300px; left: 300px; to .awsome-text-container

violet helm
#

Your good at this xD
it worked

violet helm
#

One last question, would it be possible to add a delay for when the text appears and a fade in / out effect on the text @mild cipher ??

mild cipher
#

Let me finish photoshopping this meme feelsbadinternetman

violet helm
#

No worries, I'm happy to wait : )

mild cipher
#

So in the CSS you want to add these two properties to .awsome-text-container

.awsome-text-container {
  opacity: 0;
  animation: 1s fadeIn forwards 6s;
}

in this case the text fades in after 5 6 seconds (animation duration is 1 second)
also add these two blocks at the bottom:

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes fadeOut {
  0% { opacity: 1; }
  100% { opacity: 0; }
}

and add this at the bottom of the JS

setTimeout(() => {
  document.querySelector('.awsome-text-container').style.animation = '1s fadeOut forwards';
}, 13e3);

in this case the text fades out after 8 13 seconds (from the moment the alert starts) with an animation time of 1 second

violet helm
#

Thank you, also what numbers would I have to change for the text to fade out 13 seconds from the start?? @mild cipher

mild cipher
#

I edited it to use your numbers

violet helm
#

You make this stuff look way to easy 😅
Well thank you very much for your help @mild cipher . You must have saved me a lot of frustration and time trying to source and teach myself this. Have a good day / evening.

mild cipher
#

The more you read the easier it gets. And no prob, you too! ablobblewobble

violet helm
#

So this is kinda awkward but I just discovered that stream elements is yet to add any code into the CSS editor of spark alerts by default. This means I can't exactly copy all of the code you helped me with to those field as it would query the wrong name and not get the spark amount for the text.

Would you know what needs to be added and changed @mild cipher ??

#

|| I'm thinking this line needs to be changed for the name and another added for the amount of sparks in Java script

const userNameContainer = document.querySelector('#username-container');
||

mild cipher
#

I copied over the exact same HTML, CSS and JS from Twitch to Mixer and it works fine for meh owothonk

violet helm
#

What part, like the code for Bits on Twitch??

mild cipher
#

Oh you mean you want to show the amount of sparks. In that case just replace is now following! in the HTML with sent {{amount}} sparks!

violet helm
#

Does anything need to be changed with the JS so it doesn't confuse the name of the person sending the sparks with the last person that followed??

mild cipher
#

The alert events are all self contained in their own little capsules, they don't talk to each other

violet helm
#

So copying the code for a follow and just changing the text to say
<span id="username-container"></span> <br> sent {{amount}} Sparks!
will work just fine??

mild cipher
#

I think you moved the <br> out of place but yep!

violet helm
#

That <br> is just for the appearance in the alert

mild cipher
#

You can keep the other <br> if you want the name and the text to be on two separate lines

violet helm
#

That's why I have it 😄

#

If you so happen to know. Why does the username seem to need this line of code in the JS to fill the text in html when the spark amount doesn't seem to need it.

mild cipher
#

The username is being injected with the special wavy animation

#

The name is a whole bunch of separate letters that get put into that container

violet helm
#

Ohh I forgot about that part. Thanks dude

loud spruce
#

Hi there, is there any possible way to get total amount of donation received from specific date?

#

I am trying to make a custom bot for twitch that would create goals and display it to chat based on timer

#

I see that I could get list of all the donations from specific date (with all details) which would make me to calculate total amount on my own from json. If there were any easy way it would be really helpful

#

My choice of language is python, but it wouldnt matter if there is any easy api endpoint

mild cipher
#

There isn't an endpoint that provides a pre-totalled amount for you, you'd have to sum it yourself. Should only take a single line though ablobwink

loud spruce
#

I dont think I will be able to actually test until I start receiving donations.

#

Actually I could using Test json object with test data

#

@mild cipher Is there any test data I could use, documentation does not seem to have any

mild cipher
#

Here's one of mine with all sensitive info replaced.

{
  "docs": [
    {
      "donation": {
        "user": {
          "username": "john",
          "geo": "US",
          "channel": "m0n9o8p7q6r5s4t3u2v1w0x1",
          "email": "johnsmith@email.com"
        },
        "media": {
          "start": 0,
          "videoId": ""
        },
        "message": "my message",
        "amount": 8,
        "currency": "USD",
        "paymentMethod": null
      },
      "provider": "paypal",
      "status": "success",
      "deleted": false,
      "_id": "2l1k0j9i8h7g6f5e4d3c2b1a",
      "channel": "a1b2c3d4e5f6g7h8i9j0k1l2",
      "approved": "allowed",
      "createdAt": "2019-10-02T00:00:00.000Z",
      "updatedAt": "2019-10-02T00:00:00.000Z",
      "token": "AB-CDEFGHIJKLMNOPQRS",
      "transactionId": "ABCDEFGHIJKLMNOPQ"
    }
  ],
  "total": 1,
  "limit": 25,
  "offset": 0
}
native trellis
#

you leaked John's email

mild cipher
native trellis
pseudo siren
vapid iron
chrome saddle
#

Hi, I was preparing Bot for my friend, which includes few connections to SE API. We wanted to make a bit different way of redeeming things in store(SFX), we disabled the ability to redeem through store and chat and left only redeeming through a widget which was turned off. But, I did not realize redeeming throw API will not work, If we tick off the option "Redeemable via website". Is there another way to redeem SFX throw API without giving the ability to viewers to redeem it through the web or chat? Thank you"

mild cipher
#

I don't think there's a way around that unfortunately. You'll probably need to track redemptions yourself and use the points endpoint to remove points from users for successful redemptions

dapper fern
#

@mild cipher i think the new alpha gaming rotator is broken for tips, showing the currency sign and then the icon -

mild cipher
#

@dapper fern hm how do you mean?

dapper fern
#

$15$ ?

#

😛

mild cipher
#

The other $ is an icon aha, Sam redesigned them

#

You can disable it per event though

dapper fern
#

yeah, I have done, also changed to gbp but wasn't sure if the default outcome was intended or not

mild cipher
#

Are you on Mixer?

dapper fern
#

yes

mild cipher
#

Is it picking up the other data, sparks/embers, etc?

dapper fern
#

yup all good there

mild cipher
dapper fern
#

😄

#

so... how much to make a streamathon widget? I tried to edit the old one for mixer and gave up

mild cipher
#

Get in touch with the original creator and ask very nicely if they can update it aha, otherwise if you want a custom designed one, there are some peeps on the Streamer's Market who you can commission. I'd offer help but I'm pooped tonight. Long day 😛

dapper fern
#

haha np ❤️

#

trying to get something in place for dec 22nd, ive got a temp solution but its janky as fuck

restive adder
#

is follower-recent not correct for mixer for recent follower event? try to fix this event rotator had on twitch before moving to mixer but its pulling no followers at all

indigo flume
#

if you've hooked up the obj.listener or obj.detail to a constant

#

just console.log(data) to see what comes up on each specific event

simple wraith
#

@mild cipher Just wanted to share this with you. Having the custom "widget" on screen (in the new format) with clear subgoals for people to see, not only shattered thems, but overshot the final target by 41%. yikes (it might've been correlated to my birthday stream, however, i do believe this would be highly beneficial for special occasions like: (your) birthday, charity, marathon.. etc)

it sure did for me last night

loud spruce
#

@mild cipher thanks a lot for the data

#

A quick question about donation goal widget, does it track down all the currencies, convert to USD and show it on the tracker or only USD?

native trellis
#

it tracks in the currency you have in the tipping settings

loud spruce
#

So it will convert if any of the tips are in different currency, if I understood it right

native trellis
#

it should yes

loud spruce
#

Gotcha

mild cipher
#

@simple wraith awesome! I was lurking a little actually so I saw blobwink I've fully converted it and added support for all different event types so people can use it with follows, cheers and tips too! (+ sparks/embers for mixer). I also added a bot counter option, so if you want, you can add uh... punishments? For say, reaching X number of deaths 😂 (probably not a good idea for a Dark Souls stream...)

#

Anyway I see that it's up now! So it's in your hands 😄 keep up the good work!

knotty thorn
#

hello, how do i apply for access to oauth?

mild cipher
knotty thorn
#

awesome, thanks

lusty portal
#

If I'm using JS to ping my server with info, is there a listener for the tier of subscriptions?

#
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 === 'follower') {addEvent('Follow', event.name);};
        if (listener === 'redemption') {addEvent('Redeem', event.name);};
        if (listener === 'subscriber') {addEvent('Subscriber', event.name);};
        if (listener === 'host') {addEvent('Host', event.name);};
        if (listener === 'cheer') {addEvent('Cheer', event.name);};
        if (listener === 'tip') {addEvent('Tip', event.name);};
        if (listener === 'raid') {addEvent('Raid', event.name);};
    });
#

So instead of "redemption-latest", is there one for the subscription tier?

mild cipher
#

For subscriber-latest event has a tier key. So event.tier

lusty portal
#

Ah.. Thank you. 🙂

#

Do you know of any website that has all the API stuff?

mild cipher
#

All the docs are in the channel header 😄

lusty portal
#

DOH! Thank you. 🙂

grim pollen
#

hey there, I'm trying to get the instant replay widget to work - when I type !replay in the chat it plays fine on Streamelements in the overlay but does not appear on obs.live - any ideas?

mild cipher
#

@grim pollen silly question, but did you save the overlay?

#

I just tested a fresh copy of the overlay with the latest version of OBS.Live with a live channel and it's showing up as normal for me.

I would also recommend closing the overlay editor when using the command, because otherwise you'll be generating two clips, one in OBS and another in the overlay editor, and you'll hit the 5 minute limit quicker which could also be causing it to not play

grim pollen
#

ok, I'll test that and get back to you

shadow urchin
#

so uh who should I talk to about helping me get my alerts from Stream Labs over here? 😮 nibluv

native trellis
#

you can import them through the tool on the dashboard

shadow urchin
#

Oh shi. Time to find a dashboard and import them ❤️

native trellis
#

tool is in the top right

#

it says: IMPORT

shadow urchin
#

Look at you ❤️

#

Taaaanks

#

Got it ❤️

native trellis
#

nice

shadow urchin
#

So it grabbed dono but nothing else interesting

native trellis
#

are your alerts custom, or from SL?

shadow urchin
#

Custom.

native trellis
#

okay

#

it could be that the files are too big

shadow urchin
#

Gotcha.

grim karma
#

I wanted to create a countdown timer for streaming where its set to 4 hours and counts down to 0 (would be how long i plan to stream) then if someone follows, donates, sends bits, or etc it will add more time to it.

Not hard to make the timer but making it read of field data is difficult :/

mild cipher
jaunty badger
#

Hello everybody !
I would like my bot, when I launch a command on twitch, to send a message with line breaks.
But I have no idea how to do this line break, does anyone know how?

#

Thank you for your answers

indigo flume
#

Twitch chat doesn't support line breaks.

jaunty badger
#

SO how streamelements does?

#

(Chatbot of Streamlabs OBS does line break tooà

indigo flume
#

does what?

jaunty badger
#

Line break

indigo flume
#

Im confused. the actual chat from Twitch doesn't support line breaks

#

if you see a new sentence start on the next line, then most likely a comamnd ot text was in a such way

#

it ends at the default size of the twitch chat.

jaunty badger
#

the tip command have a line break

indigo flume
#

show me

jaunty badger
#

wait I have to go 30 min

#

I come back after

#

(for work)

jaunty badger
#

Ok I did some tests and indeed, !tip may not have a line break.
There's no way to make some kind of line break?

indigo flume
#

Twitch does not in any way support line breaks via /n or shift + enter or {b}

hardy walrus
#

Or whitespaces. Can't forget those spicey bois.

jaunty badger
#

It's sad.

#

Thanks for your answers

vestal marlin
#

i really need a working oAuth access since we want to deploy the application

#

@static wigeon could you please do it for me?

static wigeon
#

@vestal marlin Your redirect-uri has already been updated.

vestal marlin
#

ty. lemme try quick where it goes now 🙂

#

and for production i need a second app, or do i need to use same for dev/prod?

spare knot
#

Hi, how to make bot reply part of message, after Command and before some keyword, like "!choose some word OR Another some worD. -Bot: my choice is Another some worD". For example there are OR is keyword.

vestal marlin
#

is there a different API docs for oauth? the /kappa endpoint says it requires JWT but i'm trying to gain oauth access. how to get user infos?

mild cipher
#

@spare knot there is no 'OR' keyword, but you can select between two whole single words
${random.pick '${1}' '${2}'}
So you would need to do !choose some_word another_some_word

#

@vestal marlin Instead of Authorization: Bearer <JWT> use Authorization: OAuth <token>

vestal marlin
#

ty

vestal marlin
#

it's working now

#

thanks guys!

spare knot
#

@mild cipher yeah, i already did it with words_like_that, but it so bad in real deal. There are no way to make different parts in one message with some (any) word/symbol?

mild cipher
#

The bot can only split on spaces, not arbitrary words. You would need to make a customapi script

muted dagger
#

Guys i got the new Christmas alerts from NoD and it seems that the sub's variations isn't working properly, should i ask for some help with you guys or NoD? Isn't working even on OBS shows just the 'normal sub' but re-sub and gifts isn't

#

And I used Quick Install file from them

young linden
#

obs is at 26% cpu.. and the stream starting animation is choppy with timer. all others are great and smooth.. any ideas

pseudo siren
hallow birch
#

How do i add Text settings to a custom widet to allow for custom text?

native trellis
#

mention everything please

#

or else you will get the same questions

hallow birch
#

Yesn't

#

Okay so i have a custom widget that doesnt have a "text settings" field and i would like to use a custom font from my pc but cannot figure out how to do so please for the love of sanity help.

#

custom widget^

viral patrol
#

Custom widget is something you need to reproduce all functionality by yourself (so there's no mess because of not needed stuff, this applies to text settings as well)

#

On your screen I see text options with googleFont selector

#

Change that field type to text and you will be able to type anything there

hallow birch
#

Yes, this is someone else's widget im modifying and i'd like to use a font from my pc not from google fonts

#

oh?

viral patrol
#

Fields definitions are in FIELDS tab

hallow birch
#

right, so do i type the font on my pc?

noble girder
#

I think the main issue is uploading and using a font in custom fields section

viral patrol
#

Yup. You can type font name from your PC to use it within widget on your PC (or any platform that has this font installed)

noble girder
#

Oh thats smart. So u just have to use ground control or OBS.live?

hallow birch
#

wait how do i do the custom font?

viral patrol
#

Not at all! You can use plain OBS as it will ask for system font first

#

If name matches

#

If you have CSS definition like:

*{
    font-family: 'Helvetica Neue';
}

It will use Helvetica Neue font as default for that widget

noble girder
#

how can it find the font if you dont have a form of SE installed locally to find the font then right?

viral patrol
#

You just use text field and type font name there

hallow birch
#

Okay so i have a custom font i use all the time installed on my pc

viral patrol
#

Then Chromium browser checks system for that

hallow birch
#

when i changed it to text

#

what do i trype there or do i go into the css manually

#

cus i've tried typing Perfect Dark and the full name case sensitive on screen in the screenshot

viral patrol
#

I think you can try typing: 'Perfect Dark' there

hallow birch
#

so close yet so far

viral patrol
#

Remember about brackets if font name contains space

#

So it seems like it is 'Perfect Dark (BRK)'

hallow birch
#

still isnt working for me

#

i have 2 brain cells

viral patrol
#

Checking it on my end

hallow birch
#

I GOT IT

viral patrol
#

Works nice in OBS on my end

#

Great!

hallow birch
#

i forgot the '' cus again 2 brain cells

#

but i did it direct instead of through the text field

viral patrol
#

2 brain cells is enough to create "huge braincell collider" - did it myself and it works!

hallow birch
#

haha

viral patrol
#

Great it works for you!

hallow birch
#

okay except now the font i've been rying to use wont work hahaha

#

font is working in photoshop

viral patrol
#

Have you tried restarting obs/browser after installing that font?

hallow birch
#

let me do that, i tried refreshing

#

didnt think to fully restart the browser

#

@viral patrol okay so that worked thank you so much, if i have different types ofthe font how do i specify bold vs regular

#

would that be under value or like

#

wait nvm i got it

#

thank you so much for the help <3<3<3

pulsar willow
#

@mild cipher Alright, I thought this would work since this is the description of the customapi variable: Outputs the Body in plain text

mild cipher
#

Yes, it'll perform a GET to the URL you provide and return whatever it sees as in text/plain

#

So to return a single response only, you need to provide that response only. Unfortunately browser-side javascript won't work because it'll return the other tags too. Server side JS like a node server would be fine

#

Can I ask what you're attempting to do?

pulsar willow
#

I'm trying to make a command that will output a random string in text to speech

#

So I googled quite a bit and found the best (or maybe only) way to implement this with Stream Elements would be using something like the customapi variable and a third party site called SpeechChat which outputs certain chat messages as text to speech, so the bot shall post a random string in chat and SpeechChat will read it

mild cipher
#

So you're attempting to read a random line from a document?

pulsar willow
#

A randomly generated string

mild cipher
#

Ah okay, then you'll need something server based. A simple PHP script should be fine

pulsar willow
#

How would it return the response though?

#

is it just like "echo $mystring"?

mild cipher
#
<?php
header('Access-Control-Allow-Origin: *');
header('Content-Type: text/plain');

echo 'Hello world';
?>

${customapi.link-to-script.com} returns Hello world

pulsar willow
#

aaah ok cool 😄

#

Thank you very much @mild cipher I'll try to write that in php and see if it works

mild cipher
pulsar willow
#

@mild cipher I got it to work 🙂

static wigeon
viral patrol
#
die();
native trellis
round bramble
#

Hey, i make the tutorial for the instant replay, many time, but nothing happen

#

does anyone can help me ?

#

(or maybe i need to restart my stream ?)

sterile harness
#

Is there a way for a viewer to type a command, and make it play a sound on stream as well as put something in chat?

round bramble
#

@sterile harness whit the store

#

/ media store

#

of the web site

sterile harness
#

It’ll put out custom text in chat?

#

That’s what I would like to happen. Essentially a regular command that also allows me to play sound.

flint lodge
#

can I make bot to not react to command !Play in chat

#

I am doing marble races

#

And it's anoing

#

alrady turned off song reqests

rugged rapids
#

Disable the deafult command.

round bramble
#

hello
Hey, i make the tutorial for the instant replay, many time, but nothing happen
does anyone can help me ?
(or maybe i need to restart my stream ?)
i want to lnow if the widget work, cause is not working on my side, that make me crazy cause, more simple to you, you die

i got the key
i got the account (me) connected
i got the command and the permission
what i need more ?

mild cipher
#

Replying in my discord foxsip

exotic vigil
#

Is there any solution to get the bot NOT replying in chat for store redemptions? Actually more for sound effects then real store redemptions. It's really messy in chat for sound commands

violet creek
knotty thorn
#

how long does it take to get approved for oauth?

pulsar willow
#

Hello im working on a custom widget ( dono goal ) but i cant get it to work properly if any of the SE staff could dm me i would really appriciate it!

viral patrol
#

Hi! What issue are you facing?

exotic vigil
#

@violet creek It is Disabled but it still does show a message whenever people use chat commands, not when people use the store directly

rugged rapids
#

You cannot disable the default redeem message on redemptions via chat at this time.

cinder bough
#

does anyone here know about twitch chat flying in from the left to the chat window as an overlay. Right now my chat widget just appears I would like to have my chat fly in front the left

viral patrol
#

Hi @cinder bough ! We have a custom widget that allows you to select animation used for chat. You can find it here: https://github.com/StreamElements/widgets/tree/master/CustomChat - Just create a "Custom Widget", paste content of each file from github to Custom code editor tabs (html file to HTML, js to JS, css to CSS and json to FIELDS)

molten mirage
#

--
I'm trying to get a list of everyone/anyone who's ever gifted subs in my channel

from 1 gifted sub to 1000+

Can I get this data easily (or at all) from StreamElements?

loud cargo
#

Hello! I have been having trouble with streaming from obs.live lately where either OBS disappears or the game does and i think i may have found the issue, i just don't know what to do about it. i was hoping you could clarify if these numbers seem ok. When i open OBS.live my CPU% goes from 4% to (on average) 40% and my memory goes from 25% to about 40% + as well. Is there anything i can do to help reduce the effect it has on my PC? thank you!

tribal bay
#

so i am trying to code a streamelements command again @mild cipher :D

this time, it seems more simple: i need to create a queue of people, that either viewers or mods can add people to, and mods can remove people from the queue. for example: viewers have "!queue" that would add the user's name to the END of a list of people, and mods have a command called "!deletequeue" that removes the person at the FRONT of the list. basically a normal array. is this possible with regex?

#

oh i also need a way to display the queue (or if its possible, the first five people in it)

#

and i guess i also need a way to clear the whole queue, although thats not exactly necessary since i can just delete everyone one at a time

mild cipher
#

@tribal bay https://thefyrewire.com/docs/api/twitch/queue

i need to create a queue of people, that either viewers or mods can add people to ... that would add the user's name to the END of a list of people
!join or !join hello to join the queue with a message (e.g. username for a match)

mods have a command called "!deletequeue" that removes the person at the FRONT of the list.
!queue next (or just !next if you set up an alias) - selects and returns the next person in the queue and also removes them from the queue

oh i also need a way to display the queue (or if its possible, the first five people in it)
!position 5 to list the next 5 people or
!list to see a webpage of the current queue

and i guess i also need a way to clear the whole queue
!queue clear (or just !clear if you set up an alias)

velvet cave
#

Hey guys,

Just wondering, since mixer got implemented, what are the API's for the #command-share commands !hosting, !so and !tweet,

#

Also do the ${channel.viewers} etc variables still work for mixer?

indigo flume
#

Looking at a comparison between twitch and mixer variable list - it looks like some variables are not listed.

knotty thorn
#

if i reset the session data, there's no way to get that back is there

indigo flume
#

No. Thats what reset is for the session.

knotty thorn
#

all g

velvet cave
#

Ah alright, forgot to check them, was just copying stuff around, but still for API's its a different story ofc

azure cipher
#

I am having some trouble with the Awesome Shoutout. I have set up so every shoutout that i have so far, has its own gif. When i test it out, it only shows the default gif i have setup.

velvet cave
#

Let me see who made that widget for you real quick

#

oh by the way, have you looked in your variations? @azure cipher

azure cipher
#

There is variations for the Awesome shoutout widget?

velvet cave
#

for the gifs there might be

#

I don't have the widget myself, but mostly its the variations that override it to the default gif

azure cipher
#

hmm yea so for some reason when it cant find the user it just shows the default. I dont quite understand that since i set it up according to the developers video

velvet cave
#

Then would be the wisest to wait for the maker of widget, @steady iron

azure cipher
#

ok

tribal bay
#

@mild cipher this is incredible, thank you so much!

steady iron
#

@azure cipher is the default gif showing always? If so, you may want to give it a look at the name in the matrix, make sure the names are all lowercase

#

If you keep having troubles, drop me a message, and we can give it a look in a couple of hours

azure cipher
#

so i went back and looked at it, i found that inthe coding, i had the name i was testing out spelled slightly wrong. Seems to be working now

willow plank
#

-- Would it be possible to implement a "separator" block in the Fields so that we can have a header and/or text to inform about areas?

mild cipher
#

There isn't a 'text' field to provide descriptive text, but you can group fields by adding "group": "Group name" to the field's JSON. Then add the same to every other field that you want to add to the group. If you need a sort of 'header' for individual fields, there's "type": "hidden", "label": "Header"

velvet cave
#

Hey guys,

This hadn't been answered yet, since mixer got implemented, what are the API's for the #command-share commands !hosting, !so and !tweet,

elfin viper
#

Hi! Might anyone know why I keep getting "unsupported_grant_type" from the Ouath2 /token-endpoint? 🙂 I'm pretty sure im using the correct credentials

mild cipher
#

@velvet cave !so and !tweet should be pretty much the same as long as the channel variables carry over. !hosting requires a mixer specific update in order to see currently hosting channels

#

@elfin viper what grant_type have you specified?

elfin viper
#

"authorization_code" @mild cipher

velvet cave
#

@mild cipher thanks for the answer, you know what update i can use for the hosting one? And also, the tweet one redirects to a twitch api I saw

mild cipher
#

Is that my one?

velvet cave
mild cipher
#

ah yeah you can ignore. it should still work for mixer. In the future I might relocate those endpoints to not be under a twitch directory, but still works

velvet cave
#

ah cool thanks, ill test it rn ❤️

mild cipher
#

@elfin viper All the params look correct, so I'd double check the encoding on that request. Shouldn't they be sent as a query string? So x-www-form-urlencoded maybe?

velvet cave
#

Okay !tweet works ❤️

elfin viper
#

@mild cipher yes! x-www-form-urlencoded solved it!

velvet cave
#

I think !hosting also works actually

#

was just confused with the Twitch API's

#

thought it would be calling my Twitch channel haha

mild cipher
#

The hosting one will be calling your Twitch channel, so if you try to use it for Mixer, it'll be showing whoever is hosting your Twitch aha

velvet cave
#

oh oops hahaha

#

Let me know if you ever update it to mixer, I know some other people like the command as well 😄

mild cipher
#

Not my endpoint I'm afraid, so can't say either way, but I'll probably have a closer look at mixer related stuff when I get more time blobthumbsup

elfin viper
#

are there any docs for reading and writing tipping activity through Oauth2?

viral patrol
#

Going to dms with you @elfin viper 😉

knotty thorn
#

i applied for oauth a couple of weeks ago, do i get an email saying if i've been approved?

mild cipher
#

@pulsar willow can you elaborate?

hardy wing
#

Hey can't I use the #widget-share widgets on youtube? everytime I try it says platform mismatch

#

Tried many widgets same error everytime

#

Is there some for youtube I should try or should I just quit trying and stick to default ones

#

Most importantly I wanted this one the most but pepehands
Awesome Shoutout
SEheart By @steady iron SEheart

#

Maybe I can make it work with custom widget and someway adding it thru there, either way I might need some help

broken coyote
#

@hardy wing there currently isnt any widgets for youtube in the #widget-share

steady iron
#

@hardy wing v1.4 will bring Youtube, Mixer and Facebook versions of the Awesome shoutout, along with some UI improvements, so you don't have to modify code directly anymore to add special shoutouts for special streamers

mild cipher
#

@hardy wing the non-platform specific widgets like the social media rotator and the tip goal (since it uses SE tips) will work across the board, but since the overlays are currently say on a Twitch account, there is a bug (?) where if you use the share link while signed in on a different platform, you'll see that error.

#

So until that is fixed (?) you'll need to sign in/swap to your Twitch account, add the widget from the share link, then duplicate it over to your platform of choice

azure cipher
#

@broken coyote Is there a way in your goal widget to show more than 2 goals?

broken coyote
#

"is there".. yes. But it is only coded to show 2

azure cipher
#

I am assuming it is just a matter of duplicating it?

broken coyote
#

not exactly

azure cipher
#

oh ok

#

thanks for the help

hardy wing
#

@mild cipher thanks a lot man it worked ❤️

honest meteor
#

Does the https://api.streamelements.com/kappa/v2/points endpoint require authentication?

#

Because when I ty to use it, I get a 404 Not Found for the given channel and user...

rugged rapids
honest meteor
#

I can't seem to figure out how to use it in Node; how can I authenticate requests, @rugged rapids?

#
const options = {
    method: 'GET',
    url: `https://api.streamelements.com/kappa/v2/points/${channel}/${user}`,
    headers: { accept: 'application/json' },
  };
#

If I have this, would I just add a key to that with the OAuth token?

#

@rugged rapids can you advise as to where I'd pass the authorization header?

indigo flume
honest meteor
#

I've read that; it doesn't give an example on the authorization.

#

Unless I'm missing something...

indigo flume
#

This is an example

#

meaning in your code you still need to authenticate

honest meteor
#

Ah, I thought I could pass it with each request.

indigo flume
#

but note that JWT is not a very secure way if it leaks

honest meteor
#

So I need to use the Websockets method?

indigo flume
#

well this is a websocket guide, which should help you if you are making a bot.

#

but for node i assume(since i don't know node)

#

every time you are calling the API endpoint on each call

honest meteor
#

I literally just wanted to make a simple call, via something like Axios, to get a user's points on the channel.

indigo flume
#
var options = {
  method: 'PUT',
  url: 'https://api.streamelements.com/kappa/v2/points/channel/alltime/user/amount',
  headers: {accept: 'application/json', 'content-type': 'text/plain'}
headers: {accept: 'authenticate', 'content-type': 'beare/token'}
};```
#

something like this i think

honest meteor
#

Since I have all of that set up, and working, it's just I get a 404 back.

indigo flume
#

headers: {accept: 'authenticate', 'content-type': 'beare/token'} meaning you need this line

#

on which endpoint?

rugged rapids
honest meteor
#

This is what I have...

#
  const options = {
    method: 'GET',
    url: `https://api.streamelements.com/kappa/v2/points/${channel}/${user}`,
    headers: { accept: 'application/json' },
    Authorization: config.oAuth,
  };
#

Thinking it was the header it needed.

#

Not used to authentication on an API (yet).

indigo flume
#

are youi passing the channel ID in ${channel}?

honest meteor
#

No, I was passing in the actual channel name.

indigo flume
#

here is my own loyalty points

honest meteor
#

I can get the channel ID from the context.

indigo flume
#

you don't need to even authenticate for it

honest meteor
#

I think that was the issue, let me try...

indigo flume
honest meteor
#

I'm a pepega. 😄

#

So in context of TMI I get: 507eb69a-b44c-4667-a8a7-a44a131b5a89 as the channel's ID...

#

When I try to use that, I get a 405 method not allowed?

honest meteor
#

Ah, that ones takes a string.

indigo flume
#

or this

#

yes, in order to get the channel ID

#

then you take that and pass it along where it wants specifically the channel ID

honest meteor
#

Hmmm. 🤔

#

TMI should have that somewhere, I'll check the docs.

indigo flume
#

TMI?

honest meteor
indigo flume
honest meteor
#

Using that to interface with Twitch Chat.

indigo flume
#

ooh that TMI

honest meteor
#

Yeah...

indigo flume
#

so you get the NAME of the person from there

#

to get the channelID

#

but heres the kicker

honest meteor
#

Yeah, I know how to work that. 😅

#

I just thought TMI'd have that in context.

#

Guess I'll use SE for that step as well.

indigo flume
#

oh well

honest meteor
#

Thank you though. ^^

indigo flume
#

TMI is not something we build