Connecting the chat controlled robot to Twitch Pt3

00:00:00 Stream Starts
Happy friday!
What a week! We’ve all been very glued to the news.
Scotty hopes to finish up the twitch extension today.
Interacts with chat a little, weather is going more wintery again in NM.
Robogreg shares that FIRST Robotics kick off will happen tomorrow.
Scotty should be getting his second dose of the pfizer covid vaccine on the 12th!

00:06:01 Let’s look at this robot thing!
Scotty gets some stream stuff setup and recaps status of the robot to chat.
Scotty opens the robot todo list and runs chat through what he wants to do.
He needs to change the UI and make the buttons bigger. He would like to add authentication to check if the user controlling the robot is registered on twitch and using twitch, this to enable moderation. Finally, some kind of robot authentication.

00:10:18 Working on the buttons
“We need really freaking big buttons”
Scotty checks the Bootstrap documentation
but isn’t too happy with the default large settings so edits the CSS to make both the buttons as well as the text larger.

00:16:00 StackOverflow and Anecdotes
Responding to chat, Scotty shares that while everyone uses StackOVerflow for code, it was very difficult to do so in Google as so much of Google was secret, tailored to fit or completely custom from the get go.
He also shares that at the time, Googles internal search system wasn’t as good as the external.
Scotty continues by adding a title and the camera control buttons to the Overlay.

00:23:35 Do some client authentication
Checking the Twitch Extension documentation on verifying JWT (JSON Web Token)
“It’s much more fun to bash your head against the wall” Scotty says after dismissing the documentation, diving head first into writing some sample code.
Scotty find out the onAuthorized gets called and that the code he has enables the buttons once an authorisation token is passed.
Showing off some vim magic, Scotty makes a list of his buttons and uses jQuery.each for the disable/enable functionality.
enabling/disabling is a class of the buttons which is triggered by authorisation.
Scotty performs a quick test and notes the buttons are disabled but don’t get enabled.
It’s quickly found that removing an attribute won’t help as it’s a class that needs to be removed.
Scotty encounters a minor speed bump in that he doesn’t know the secret key nor the algorithm used.
Enlisting the help of @ConcreteEntree and @DJMarlus in chat, Scotty finds it’s base64 encoded and is passed a JS example that helps.
Scotty further has to remove the bearer from the header and decode the secret
The overlay now works!
Scotty checks off client authentication from the todo list.
He was hoping to get the extension up for chat to test but there are some infrastructural things he doesn’t want to show on stream so we’re going to have to wait.

01:03:20 Show&Tell Lever Nuts
Does chat remember Mango Liver Nuts?
Scotty now has them! he shows off the sizes and types of Wago Lever Nuts he’s had delivered and tells chat about the mango liver nuts story.
They’re highly recommended!
Scotty shows off the American Science & Surplus, one of his most favourite catalogues.
His workshop is outfitted with smaller hand tools that he can get from AS&S for relatively cheap.
Shows chat some clay sculpting tools and swaps
This is also where he got his TeaMug from!
Scotty also got some new LED Strips to use a shelf lights.
They flicker a bit due to refresh rates and PWM dimming but hiding and diffusing them will solve that in the future.
He’s already hooked them up to Alexa so he can control them from voice and they’re segmented into a group so controllable as a unit or individually.
Scotty winds down while talking a little with chat about lighting, Aputure lights and Sidus Link.
Scotty will have hosting setup for the next stream so he can deploy the extension and have chat test the overlay.

01:20:45 Wind Down
He ends the Stream by raiding LTT for the WAN Show

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>