Giter VIP home page Giter VIP logo

chat_stats's Introduction

###What is this?### This is a visualizer for Twitch chat. First, you set it to record the stream. When you're done recording, the program automatically generates a graph of stream activity (chat rate and viewership) over time, then generates a few word clouds that help to visualize the chat experience. Examples of both can be found in the "examples" directory of this repository.

Examples:
Rate thumb Word cloud thumb
(These are thumbnails. Scroll down to see full-sized images.)

###You can now download this program as a .exe!### Download Link. Just unzip the files, double click on chat_stats.exe, and input the channel you want to record!

Note: This should work on any Windows PC without having to install anything prior. If it doesn't, please let me know immediately!

Pros
Don't need to download the numberous Python dependencies listed below
Easy, just double-click on the .exe and input the channel.

Cons
Filesize for the .exe is about 40x bigger than all the Python files in this repository, since I need to include all the imaging libraries to actually save the images.
Can't manually call make_plot.py or make_cloud.py to re-make the images

###USAGE### ####To start recording

  • "python chat_stats.py [channel]"

####To analyze data (optional - the images are still generated if you don't run this command):

  • "python log_reader.py [channel] [date] [type]"
    • Where [type] is an element of {'words', 'emotes', 'authors', 'messages'}

####To manually create images (optional):

  • "python make_plot.py [channel] [time]"
    • (ex. python make_plot.py beatsplaypokemon 2014-08-09-11PM)
  • "python make_cloud.py [channel] [time]"
    • (ex. python make_cloud.py beatsplaypokemon 2014-08-09-11PM)
  • Note: The "time" parameter can be "recent" to grab the most recent recording.

###GETTING THE DATA###

  • Check the logs directory that is created after running chat_stats.py
  • Get the name of the directory you want to read from.
  • Use the command "python log_reader.py [channel] [dir name] [name of log file]"

###DEPENDENCIES###

###TODO###

  • Words per message?
  • Create images (graphs) of the most used emotes in image form.
  • Make make_plot.exe and make_cloud.exe available to those who download the distribution, so they can make visualizations during a stream and after a stream is done. And so they can just re-try their word-cloud if they didn't like the font/layout/colors/etc.
  • (Potential) Web-based version was requested by a few people. Real-time wordcloud (apparently like what someone was doing at AGDQ. Can make one for recent messages (past few hours) or entire-stream wordcloud
  • Maybe larger scale data like overall wordcloud (for each log in the directory, look at messages.csv), and average viewercount or chat participation rate over time
  • More data in the graph? Such as total number of people who typed chat messages as a ratio of people who just joined the chat (but might not have said anything)
  • Fix py2exe
  • More windows compatability (DLL stuff)
  • Online changelog at http://chat-stats.appspot.com/changelog (that's already created, just need to make it visual)
  • Find time during the school year to do all this.

###"I found a bug!"### Email me or Tweet me or open an issue on GitHub

###EXAMPLES### NOTE: These images may be shrunken down, so if they're hard to read, click on them and view the full version.

Stream activity over time:

Rate

Stream activity over time, with optional event labels:

Rate2

Emote cloud:

Emote cloud

Word cloud (by default, word clouds do not include emotes. To change this, just change "include_emotes" in chat_stats.ini):

Word cloud

###THANK YOU!### Huge thanks to Paul Nechifor who made Python wordcloud, and MatPlotLib which is always amazing.

chat_stats's People

Contributors

popcorncolonel avatar

Watchers

James Cloos avatar Shay Lin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.