NOTE: VIDEO AND PHOTOS HAVE BEEN HEAVILY EDITED TO CONFORM WITH COMMUNITY GUIDELINES. NOTHING SAID OR WRITTEN REFLECTS MY PERSONAL VIEWS AND IS PURELY FOR DEMONSTRATION PURPOSES. IN AN IDEAL WORLD, RACISM, SEXISM, HARASSMENT, ETC SHOULD NEVER EXIST AND A NEED TO DETECT THEM WOULD NEVER BE NEEDED.
As a twitch streamer and viewer myself, I have seen first hand the amount of time moderators spend answering questions and the necessity of having good moderators in chat. A toxic environment can easily occur in small-medium streams without the moderator manpower to stop it. These toxic environments drive away potential viewers but more importantly, make people uncomfortable and not enjoy themselves.
What it does
This is where AutoModerator comes in. By using Wit AI NLP, I was able to answer generalized FAQ's without the use of specific commands that other bots use. This allows new viewers who have never set foot in that stream before, get the answers they are looking for without using specific commands. A user can simply ask
what song is this? rather than use commands that could vary from
!music, !song, !playing and many more.
On top of this, AutoModerator can detect and punish users accordingly based on toxic chat messages. The current iteration can capture generally light toxic comments like 'you suck' to more egregious messages that delve into racism, sexism, and harassment. As it stands, AutoModerator mostly times out users that post these more extreme messages, however, based on the levels of toxicity, AutoModerator can even permaban the user from the chat.
How I built it
I used TwitchIO to create a simple twitch chatbot and set it up with my own Twitch channels chat. After creating this, I used Wits Python library to connect my chatbot to Wit services and set up the sending and receiving of messages and responses. I would pipe the messages from the chat into my chatbot then to Wit and using the responses from Wit, curated multiple automatic responses based on the return from Wit.
Challenges I ran into
As it was the first time for me making a Twitch chatbot, getting all that set up was a small roadblock on my journey towards completion. The largest hurdle I ran into was using finetuning Wits responses and predictions. Even now, I am not completely satisfied with the sensitivity of toxicity and will be working on it more after the results of the hackathon.
Accomplishments that I'm proud of
I built a pretty good automatic moderator for Twitch chat and with some tweaking, will actually be implementing it in my own streams.
What I learned
I learned a ton about Wits platform as well as setting up chatbots for Twitch. I also got to dip a little into Wit entities and traits even though I didn't make full use of them.
What's next for AutoModerator
Like I said before, once results are released and I can get back to work on it, I'd like to finetune some of my toxicity classifications. I also want to bring it to other platforms such as Facebook Gaming and Youtube Live. I will be looking into creating bots for those systems as well as adding a bit more functionality for less gaming-focused live streams.
Log in or sign up for Devpost to join the conversation.