Tools to scrape Twitch chat data


Keywords
Twitch, twitch.tv, chatbot, chat, bot, streamer, scraper, scraping, scrape, network, analysis, graph theory
License
MIT
Install
pip install twitch-listener==1.2.1

Documentation

Twitch listener bot

An easy to use Python bot for retrieving Twitch chat data from multiple streams/channels simultaneously. Includes functionality to generate adjacency matrices between the streams, for the purpose of network modelling. All files are generated in your working directory.

Installation:

pip install twitch-listener

Steps for acquiring Twitch credentials (skip if you already have these):

  1. Get a twitch.tv account
  2. Obtain a Twitch client id
  3. Acquire a Twitch OAuth token

Store these values securely. You now have everything you need to use TwitchListener.

Example usage:

from twitch_listener import listener

# Connect to Twitch
bot = listener.connect_twitch('yourUsernameHere', 
                             'yourOauthHere', 
                             'yourClientIDHere')

# List of channels to connect to
channels_to_listen_to = ['Northernlion', 'DumbDog', 'DanGheesling']

# Scrape chat data into raw log files. (Duration is seconds)
bot.listen(channels_to_listen_to, duration = 1800) 

# Convert log files into .CSV format
bot.parse_logs(timestamp = True)

# Generate adjacency matrix
bot.adj_matrix(weighted = False, matrix_name = "streamer_network.csv")