Mike Raadsheer

HiImMike

Twitch Chat Bot (Pt.1)

TL;DR

This bot was made in an attempt to make programming your own chatbot for twitch easier and more accessable, there were a good amount of resources but some things changes in the library so making an updated version with ultimately only the basics seemed like a good thing to do since I just made my own chatbot and having an updated version would have saved me a couple hours of time. My personal bot has a lot more functions and is also available for refrence on my github.

JSON Serialization

To save data with json you need to add the packages necessary for your programming enviroment to interact with and create json files, to save data you need to define how the data needs to get saved using a class (you can think of an enemy class for example), to create a json file with your data you need to serialize the variable (of said class), now the json library can read it can convert it to a json file. to read the data off of a json file you need to deserialize the json file and it can be used just like a object with the data beign defined by the class it was made form.

Packages

Using NuGet You can search for "TwitchLib" this way it will be added automatically and you can get started programming your chatbot for twitch. if you want to make systems for cooldowns per person and some king of points system you will need to save the data somewhere and one of the easier ways to do this is with json.

Win Forms Application (Pt.2)

TL;DR

After a couple of comments on the follow up video asking to make a interactable UI for the bot I decided to try just that, the only way of doing so I knew of at the moment was with visual studio's windows forms app. I made this on a live stream on twitch and uploaded the stream to youtube.

Challanges

Because this was my first time working with windows forms there were some slight hiccup's. Jusr setting the text would create an error and the solution I found was far from clean but it got the job done and since I wanted to have a working prototype by the end of the stream I decided to go with this messy solution. also accidentally double clicking on a label (text) would generate a OnClick function for that label which you couldn't manually delete because then the project would just top working. in the end I decided not to bother with these functions and leave them in empty. Last of all I only wanted the basic funtionallity that the bot was actually using, for this reason I decided to depricate the points and users code since this added unnecessary complexity to the project.

What I learned

After wotking with the Forms Application for a bit I started getting the hang of things and learned to think different about the code I wrote because everything could now get triggered by a button instead of a command in the twitch chat, making this way of running commands a lot neater and faster to use. I'm planning on learning more about C# visual UI and plan to revisit this project when I got the knowledge to make the project a lot cleaner.