With the world in lockdown, late last year I decided to look into what it would take to start streaming video games on the Internet. I bought an AverMedia Ultra Gamer from Amazon, and after a lot of tweaks, I have my stream running pretty well through OBS and broadcasting to Twitch. I've had a small following, too, so I've made a Discord to chat with people while I'm not streaming.
You can find me on Twitch here: https://www.twitch.tv/dyreschlock
You can join my Discord here: https://discord.gg/...
These days I've been playing a lot of Let's Go Eevee on stream. In each stream, I hunt for Shiny pokemon and eventually I plan on collecting all of them. In order to make my streams more engaging, I have created a Chat Bot that has various games and activities. This is Schock Bot.
Schlock Bot is a locally run program. When it is active, it'll connect to Twitch and Discord. It will read every message in the Twitch chat and every message in the Bot channel on Discord. If a command appears, it will respond. It is written in Java with connections to MySQL. Recently, I retro-fitted Tapestry into it, so it will also host webpages, which I use as Twitch overlays.
On Git-hub, you can view all the current functionality and how to use it. For Twitch Chat, its main function is taking bets on which Shiny Pokemon will appear next in Let's Go. Also, there's a guessing game, which will give the Chat hints on a Pokemon. The first one to guess will get points!
You can view the entire project here: https://github.com/dyreschlock/schlock-bot
It's been really fun getting back into programming. It is really satisfying that while building this thing everything really came together. And then being able to use it immediately on stream and have real people interact with it. It's great. :)
Rock blocks are always what slows down progress and kills motivation, though. Nearly everything I've been able to think of, I've been able to put into this, but there are 2 major things I wish to add that have not been working.
One, I want to be able to listen for Channel Points redemptions and other Twitch notifications. Apparently you do this through Web hooks, but I haven't been able to get it working. With this working, I could automate a few things in the background rather than doing it manually.
Two, I have Schlock Bot hosting web pages, which are connected in Twitch and displayed. But, again, I'm manually turning on and off their visibility. I want to make a host of other webpages that show the most recent followers and display graphics or play sound effects. I'm having trouble getting these pages working. There would need to be some kind of Ajax thing that would listen for a prompt, and then react accordingly.
With both of these things working, viewers could redeem points and have graphics show up on my stream or have a sound effect play. Ya know, just like all the other obnoxious streamers. Some day, this'll happen.