Recently I started working on a project with puppeteer, a Node library to control Chrome or Chromium using their DevTools Protocol. The project is a bot that gets enough information per run to spoof a user browsing a website and it contains some nice features. I joined in later and think it’s pretty damn cool to see the bot in action. Initially my task was to convert the POC JavaScript project to TypeScript for more type safety and fewer runtime errors. …
Setting up a new repository at an unknown source control vendor or moving a repo to a new one can sometimes seem like a tedious task. Especially with multiple vendors offering different things. I personally like Azure DevOps, part of the cloud computing solution from Microsoft, because they have a lot of infrastructure all baked into one place. Azure Pipelines is one of my favorite things to use to get a free and quite complete pipeline running for my builds and releases. …
In Part 4 we showed how to debug your script by adding logging. In this part we’ll go through some nice-to-haves: some additions that are not required for a script, but are nice features to have for convenience. We’ll go through adding a cooldown and also adding a UI for your script. Enough chatter, let’s get going!
You might not want your commands to be available to everyone all the time, even though they’re awesome. You could have a busy chat or someone could be a troll and spam the command all the time.
In Part 3 we finished the logic in our Mulder command and it worked beautifully. However, when it comes to programming, there seems to be this unwritten rule: Programs never work first try. It’s always an iterative process, whether it’s changes in how you expect something to work or weird bugs in your code. In this part we’ll focus on the latter. Knowing some debugging skills will really help when making your own commands, or just when programming in general. Let’s get to it!
Logging is basically all I need to show you. Logging what your script is doing and…
In Part 2 we set up our basic structure and now we are ready to get to the juicy bit, where the script will come to life, so what are we waiting for?
Our command logic goes in the Execute(data)
method, which gets called by SC when a message is posted in the chat. There are some gotcha’s to consider but I’ll guide you through them.
Remember how I said that any command (or message, for that matter) in the chat will trigger our Execute(data)
method?
As we only want to respond to the command !mulder, we should verify that…
Alright, in Part 1 we installed everything we needed and determined what we are going to build. In this part we’ll build the basic structure that is the same for all scripts. Let’s get cracking!
All Streamlabs Chatbot (SC) commands have some basics you need to have implemented correctly for it to even appear as a runnable script in their UI, let alone run it. These are:
For the Python script to be picked up as a script for SC, the format should be command_StreamlabsSystem.py
.
So, let’s start by creating a mulder
directory and within that directory, create mulder_StreamlabsSystem.py
.
Yes, I have written a full walkthrough before on how to create command scripts for Twitch, but that had too much backstory and unnecessary additions. Also it’s way too long and intimidating for people just starting out I found out recently through a cool dude that contacted me: SyferCon. So I’m going to cut it up into bite size pieces with more focus, so more people can enjoy making their own commands. Let’s get to it!
To be able to follow along, there are a few things you’ll need:
I do a lot of Twitch related projects here and there, trying to see what the possibilities are. One of my latest projects involved creating a Twitch Emote Extension for Chrome where I showed how to get extra emote “slots” for free. That got me into browser extensions, so I figured let’s show how to make one from scratch by building a profanity filter for the Twitch chat.
At the end of this, we want to have an extension that, when installed, checks for a set of flagged words in chat and replaces them with more friendly versions. …
Some people, like me, prefer working with Git using SSH rather than HTTP(S), where you have to enter your Git credentials, which you may have forgotten or it could just be a secure monster of a password that’s not type-friendly.
Whatever the reason, if you’re just starting out in the wonderful world of source control, GitHub or both and want to start using SSH immediately, it can be quite confusing how to go about it. So this is my attempt at making it easy to follow and understand; let’s get to it!
It’s much simpler than it sounds. Pull up…
By making your very own browser extension!
Yes, it’s possible. Over time I have heard streamers (mostly up and coming ones) complain about the restrictions Twitch has on opening up more emote slots. You first need to become Affiliate and get more subscribers before getting more emote slots. Even Better Twitch TV has a 30 emote slot limit (15 personal/15 shared) before having to subscribe.
But fear not, my friends, for I come bearing gifts. In this post I will show you how you can get all of your emotes available on Twitch through your own Chrome extension. It’s not…
Geotechnical Engineer by education, .NET Developer by trade, Nintendo fan by design. Find me on Discord: NintendoEngineer#3083