STREAMING THINGS

Streaming Chat Bots

All items are available in GitHub, though likely not to the customised extent in the following screenshots and videos. I don't get paid for this and I don't support e-beggars.

The goal of these is to keep them as sinple as possible so people of all levels can work with them. As few external libraries as possible, minimal dependencies on external programs and no ridiculous web hacks.

Billboard Hot 100 Competition Bot

Interaction game for chat using data from the Billboard Hot 100 charts dating from 02/08/1958 to 28/12/2019.

Every so often one of 3 question groups will be asked, containing a randomised question. There's a lot of data so no duplication checks are performed. There are chat announcements but the questions are held in HTML/CSS. Which is where the timing issues come from.

The questions, answers and results are written to HTML/CSS which can be shown as an OBS overlay. When the quiz isn't active, it's not visible. The timing isn't accurate, but it's only for a bit of fun. Given that streams are usually out of sync with reality no one would notice.

Twitch and Mixer versions available.

GitHub Project: this is a link

Demo: incoming

CatchEmAll

A collectible themed game for stream chat. Maybe some sort of game where you'd throw balls to catch miniature semi-sentient animals which you force to fight each other?

A collectible will appear randomly in chat, at which point users can shout a command to try and catch it. It's all based off random numbers and percentages. I'm well aware the percentages don't really work from a maths perspective, but it needed to be kept simple.

There are 3 versions, all based off the same code. This is to demonstrate different stream integration methods. We could run it as a simple chat bot, though on busy streams the messaging would become quickly buried. To counter this we can run it with an HTML page rending the collectible on a stream when it's ready. There's also a slightly more complex JS method of working with the HTML, which moves the updates from HTML to a JS script. It almost removes the refresh clicker, but would require unique project customisation to be 100% fixed. There's a better example of this in the 'Trigger' chat bot project.

Twitch and Mixer versions available.

GitHub Project: this is a link

Demo: incoming

Last Twitter Post

A simple chat notifier for Twitter updates.

This is a convoluted way of reading the last Twitter post and posting the contents to chat. It scrapes a Twitter page, which we shouldn't do but Twitter demand you fill in a ridiculous form to comply with their criminal leftist propaganda platform. No.

It would be cool if it posted a speach bubble overlay on the stream. It's possible but I didn't want to given we don't know the contents of the message. Some streams don't allow content such as hyperlinks so these have all been stripped from the message. Unfortunately some people just spam links with no context so... the message looks stupid. Can't do anything about that.

2 versions are available but one would suffice. The 'Single' project only reads 1 Twitter account, while 'Multi' reads as many as you want. Obviously we could add only 1 account to the multi script and it would work fine.

Twitter are also garbage at formatting the text content so we play with that a bit. These are held in 'ArrayOfWeirdCharacters'.

.

Twitch and Mixer versions available.

GitHub Project: this is a link

Demo: incoming

Shutup

A bit of fun to annoy people who annoy streamers. Platforms provide some protection against what users say, but not their names. So long as their usernames conform to the platforms standards, they can be literally anything. Note; I don't care

If users are continually harassing with specific wording, we can combat this with a simple script. We could ban these users from the stream though that could lead to accidentally banning legit accounts if imporperly configured. We could automatically time out users, which is acceptable. My solution is more from a host perspective; we automatically delete every message those users post. It will annoy them endlessly. We can log the message locally if we ever wanted to review it. Simply having that username in chat with a client who can't speark is enough of a victory for me.

Twitch and Mixer versions available.

GitHub Project: this is a link

Demo: incoming

Trigger

Somewhat of a replacement for a tools such as stream elements. It looks for matching text strings in user messages then triggers an audio and image based on matched results. So if a user mentions a specific public figure in chat, we could trigger a funny image and audio clip within the stream. There's a global configurable timeout so these aren't continually spammed. It would be better if the timeout was also added per notification, but that's an enhancement for someone else to make. Requires a local web server due to the JS scripts.

It could do video. If audio isn't present it may not work very well.

.

Of course this removes the whole e-begging aspect of streaming. Which I don't see as a bad thing. It's not a job. Get a job.

Twitch and Mixer versions available.

GitHub Project: this is a link

Demo: incoming

Other Tools and Things

These may or may not be available for download. It depends on how complex the code cleaning is and whether I really want to.

Mic Muter UI

An application to display microphone muter status on a stream. I use C# and an application window. It's the easiest solution I could think of. The window can then be captured in OBS and put anywhere we want.

.

Users can configure the image, window size (to not distort images), background colour (for chroma removes) and triggered hot key. I've had some issues with it recognising my work laptop microphone, but works 100% with external microphones on the same laptop and all my personal computers.

There is a non-UI version which doesn't appear anywhere and can only be closed through task manager. This uses a WPF transparency form so we don't need to capture anything, it will apepar over the main display. However, if an application doesn't allow this then it will be pushed to the background and rendered useless. I use this version for MS Teams meetings, given the UI in teams is garbage, but don't want to give it out due to the seemingly virus like nature of hiding from the system.

Binary Download: Google Drive link

GitHub Project: this is a link

Demo: incoming