We wanted to make a chat bot that would elevate how people communicated with each other in a kind and generous way on the live streaming chat platform for Twitch channels.
What it does
Person A can send karma to Person B using the following chat message. @A++++ for the awesome comment! KarmaBot raises A's karma by 1 as a result.
Also, B can remove karma from A. That was pretty insensitive @A--------- KarmaBot reduces A's karma by 1 as a result.
When A racks up a lot of karma, KarmaBot will congratulate A in a Twitch message that overlays the stream!
How I built it
We used TMI.js and Chat & IRC to implement the TCH_KarmaBot that listens to comments on a specific chat room. The client parses each chat message to see if the message is a karma boost message or karma shame message. It stores each user's karma. Once a user's karma exceeds a certain threshold, the client will send the user's name and karma points to a server implemented in Express.JS. The server updates its current state to that user's name and karma points and renders an HTML that contains the data. The
Challenges I ran into
JS. We had a lot of help from the Twitch organizers with the architecture! Thanks guys!
Accomplishments that I'm proud of
Accomplishing our first chat bot.
What I learned
How to spell OBS.
What's next for Karma Bot by The Real Team Schwifty
We aim to incorporate server-less computing and machine learning into our chat bot in order to expand on its features.