All Projects → snoww → TwitchOverlap

snoww / TwitchOverlap

Licence: MIT license
Source for stats.roki.sh, as well as API, polls twitch every 30 minutes to calculate intersection of all channels above 1,000 viewers

Programming Languages

C#
18002 projects
typescript
32286 projects

Projects that are alternatives of or similar to TwitchOverlap

music-id
🚀 Music ID for Twitch (TwitchMusicID) is a Chatbot which automatically identifies music in the background of Twitch Streams, VODs, and Clips.
Stars: ✭ 49 (+22.5%)
Mutual labels:  twitch, twitch-api
twitch-extension-github
🚀 Show your Github profile on your twitch channel!
Stars: ✭ 48 (+20%)
Mutual labels:  twitch, twitch-api
meme-box
Manage and trigger media in OBS as a browser source
Stars: ✭ 82 (+105%)
Mutual labels:  twitch, twitch-api
twurple
Interact with Twitch's API, chat and subscribe to events via PubSub and EventSub.
Stars: ✭ 479 (+1097.5%)
Mutual labels:  twitch, twitch-api
twitch api2
Rust library for talking with the Twitch API aka. "Helix", TMI and more! Use Twitch endpoints fearlessly!
Stars: ✭ 91 (+127.5%)
Mutual labels:  twitch, twitch-api
pyTwitchAPI
A Python 3.7 implementation of the Twitch API, EventSub and PubSub
Stars: ✭ 132 (+230%)
Mutual labels:  twitch, twitch-api
Twitch-View-Bot
First open-source really working view bot for Twitch
Stars: ✭ 63 (+57.5%)
Mutual labels:  twitch, twitch-api
TwitchPy
This is a package you can use to connect with the Twitch API, manage a channel, create bots, etc
Stars: ✭ 22 (-45%)
Mutual labels:  twitch, twitch-api
TwitchLink
Twitch Stream & Video & Clip Downloader.
Stars: ✭ 24 (-40%)
Mutual labels:  twitch, twitch-api
twitch-graphql-api
KomodoHype
Stars: ✭ 78 (+95%)
Mutual labels:  twitch, twitch-api
glitch
!NO MORE MAINTAINED! Reactive API Wrapper for Twitch in Kotlin/JVM
Stars: ✭ 12 (-70%)
Mutual labels:  twitch, twitch-api
twitchtube
Twitch YouTube bot. Automatically make video compilations of the most viewed Twitch clips and upload them to YouTube using Python 3.
Stars: ✭ 398 (+895%)
Mutual labels:  twitch, twitch-api
PythonTwitchBotFramework
asynchronous twitchbot framework made in pure python
Stars: ✭ 78 (+95%)
Mutual labels:  twitch, twitch-api
TwitchBot
Custom C# chat bot for Twitch TV
Stars: ✭ 33 (-17.5%)
Mutual labels:  twitch, twitch-api
streamcord
A Discord bot that interacts with the popular streaming service Twitch.tv
Stars: ✭ 83 (+107.5%)
Mutual labels:  twitch, twitch-api
coebot-www
A web interface for CoeBot, a Twitch chat bot
Stars: ✭ 12 (-70%)
Mutual labels:  twitch
marv
Marv your Swiss streaming tool!
Stars: ✭ 149 (+272.5%)
Mutual labels:  twitch
node-twitchbot
Package for easily creating Twitch Bots
Stars: ✭ 13 (-67.5%)
Mutual labels:  twitch
jChat
jChat is an overlay that allows you to show your Twitch chat on screen with OBS, XSplit, and any other streaming software that supports browser sources.
Stars: ✭ 106 (+165%)
Mutual labels:  twitch
Lagertha
A UI/UX redesign of the popular Twitch-bot PhantomBot
Stars: ✭ 10 (-75%)
Mutual labels:  twitch

Twitch Overlap

This repo contains the site for stats.roki.sh.

./TwitchOverlapWeb

This project contains the source for the website. It shows data for the live overlap (every 30 min) of different communities on Twitch.tv. For each channel, it shows a trend graph of the top 6 overlapping channels. It also shows raw data, along with a probability score for all the channels that share a common chatter during the last update. The probability score represents the probability for any given chatter to be present in that channel as well.

It also shows aggregate viewer overlap stats for the past 1 day, 3 days, and 7 days (most accurate). This data is a more general representation of how different communities share their audiences, as it takes into account where viewers go while their main streamer is offline. It also shows the total chatters and shared chatters that the streamer had during that time period.

Note that throughout this document the terms "viewers" and "chatters" interchangeably, however, in most cases "chatters" is actually the more accurate term, since that is what Twitch's API gives.

The probability score is calculated by channel_shared/total_shared.

channel_shared is the number of shared viewers from a particular channel.

total_shared is the total number of unique shared viewers from all channels.

Motivation from Subreddit User-Overlap.

Twitch Atlas (Updated to January 2022)

January 2022

january 2022 twitch atlas

December 2021

december 2021 twitch atlas

Force directed graph representation of communities of Twitch, at stats.roki.sh/atlas. This sub-project was inspired and motivated by /u/Kgersh's Twitch Atlas (Github).

The graph shows the overlap of viewers in the top 1500 channels (by total unique viewership), and then using the Louvain algorithm for community detection. The site uses the Apache ECharts library at the moment for the graph rendering (I've tried to get it working with Sigma.js for the smooth WebGL rendering, but couldn't get it to work how I wanted to). Since the graph is rendered on your local machine, it will be laggy due to the sheer amount of nodes and edges in the graph it needs to render. However, it does mean that you are able to zoom in and out and pan around to your liking.

I added an image version of the graph at stats.roki.sh/atlas/image. This version is for people who prefer to have better performance while viewing.

I plan on updating the atlas every month (hopefully), with the option to select any past atlases generated.

./TwitchOverlapApi

The backend is written with ASP.NET Core. It serves the data that is needed for the frontend website. Data is queried from a Postgres database that stores all the overlap data. Requests results are also cached using redis to speed up performance.

Data Collection

.Utilities/ChannelIntersection

This project does the half-hourly overlap calculation.

Every 30 minutes, this program fetches all channels above 1000 viewers on Twitch, and then fetches all the chatters in their channel. Then finds all the combinations of channel pairs, and then calculates the intersection of their chatters and counts the total. The data is then stored in a Postgres database.

Every hour, this program saves each channel's unique viewers to a file, this is used later on for the Twitch Community Graph.

.Utilities/TwitchGraph

This project does the monthly overlap calculation. Then it uses the top 1500 channels for the month to build the graph.

.Utilities/GexfParser

This project converts gephi files into json representation that is used for the atlas page.

Disclaimer

Not affiliated with Twitch.tv. This project is a hobby of mine.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].