Extensions

Extend SAMMI's functionality with our community made extensions.

Chat Stats

Developed by:
Rating | Twitch | views

Overview

Extension that enables you to gather, analyze, and visualize Twitch VOD chat data. Easy to install, extremely customizable and requires no prior setup!

Features
  • Retrieve chat transcript from recent or specific Twitch VOD
  • Gather chat statistics such as total message count, unique chat participants, frequently used words, and most active users
  • Generate word cloud image based on chat messages
  • Create participation tree image of the top chatters
  • Generate a chat summary using ChatGPT
  • Automated Discord posting feature for all collected data
  • High level of customization

Important Note

The extension utilizes an unofficial Twitch API endpoint. It could stop functioning or need an update due to API changes. It does not use your Twitch credentials in any way.

Icon generated by OpenAI


Special thanks goes to:
My amazing Patrons.
Thank you so much!

If you would like to support me developing SAMMI itself and my extensions, you can join my Patreon, which will give you access to all my upcoming creations for completely free and priority help on any of my extensions.

DISCLAIMER: The extension is provided as is. The developer has no obligation to provide maintenance and support services or handle any bug reports.
Feel free to edit the extension for your own use. You may not distribute, sell or publish it without the author’s permission.


Additional Information
Version 1.0 Requires SAMMI 2023.2.1^^ Stream Platform Twitch Updated June 15, 2023
Setup
  1. Update both SAMMI Core and Bridge to the latest version via SAMMI Updater.
  2. Install the extension. You can follow the Extension Install Guide.
  3. Ensure your Bridge is running at all times while using the extension.
  4. Open red Settings button and fill out the commands Twitch Chat Stats Init, Twitch Chat Stats Word Cloud Settings and Twitch Chat Stats Participation Tree Settings shown below.
Twitch Chat Stats Init
Box Name Description
Twitch Channel Name Name of your Twitch (Streaming) Channel
Twitch Bot Name Name of your Twitch Bot Channel (for message filtering purposes)
Primary Stream Language Select dominant chat language from dropdown (English stop words included automatically)
Generate Word Cloud Check if word cloud image should be generated
Generate Participation Tree Check if participation tree image should be generated
Generate Summary Check if a chat summary should be generated; ChatGPT extension required
Twitch Chat Stats Word Cloud Settings (optional)

These optional settings allow you to customize the word cloud. If left blank, the defaults will be applied.

Box Name Description
Width Specify image width (default is 600)
Height Specify image height (default is 600)
Background Color Choose image background color (default is transparent)
Font Family Specify the font family (default is serif)
Font Scale Indicate the size of the largest font (default is 25)
Max Words Set the maximum number of words to display (default is 100)
Colors Provide an array of colors for words in hex format (defaults to random colors if ‘Random’ box is checked or this box is empty)
Word Cloud Example
Word Cloud Example


Twitch Chat Stats Participation Tree Settings (optional)

These optional settings allow you to customize the participation tree. If left blank, the defaults will be applied.

Box Name Description
Max Viewers Maximum viewers to display in the tree
Display Labels As Display labels as username text or profile image with a username
Background Color Background color of the tree. Check ‘Random’ for varied colors for each section
Font Font for the tree labels from the list provided
Text Color Text color for the tree labels
Spacing Spacing in pixels for the individual rectangles in the tree
Border Width Border width in pixels for the individual rectangles in the tree
Border Color Border color for the individual rectangles in the tree
Participation Tree Example
Participation Tree Example


Get Chat Stats from Last Stream or Specific VOD

This button retrieves chat analytics from your latest broadcast or selected VOD.

Box Name Description
Twitch VOD ID Twitch video ID from which chat data is extracted (leave empty to grab your latest VOD)
Save Variable As Name of the variable to save the result into

The Save Variable As will be retrieved as an object with the following keys:

Key Description
totalMessages The total number of chat messages sent
topWords An array of the most frequently used chat words (up to 100)
- Although stop words are eliminated, some may still appear
wordCloud Complete path to the word cloud file (in png format)
uniqueChatters Total count of distinct chat participants
topChatters An array of the most engaged chatters (up to 100)
participationPercentage An object listing chatters by percentage contribution
- For instance, a key cyanidesugar with a value of 50 means cyanidesugar contributed 50% of the total chat messages
participationTree Complete path to the participation tree file (in png format)
summary A generated summary of the chat from the streamer’s perspective
- For example, ‘Today I’ve had a great stream playing this game and discussing various topics with my viewers.’
- Will be produced in the primary language set in your INIT button
- Be aware that it might occasionally yield inaccurate results
vodLink Full link to the Twitch VOD

Example Object JSON:

{ 
    "totalMessages": 101,
    "vodLink": "https://www.twitch.tv/videos/123456789", 
    "participationPercentage": { 
        "christinna": "16.83",
        "silverlink": "29.70",
        "sebas": "23.76"
    }, 
    "summary": "Hey hey! During my stream we played Dark Souls 3 and we kept dying...", 
    "topWords": [ "DIED", "game", "dog", "souls", "played" ], 
    "topChatters": [ "christinna", "silverlink", "sebas" ], 
    "participationTree": "e:/stream/sammi core/Ext/Twitch_Chat_Stats/participationTree_123456789.png", 
    "wordCloud": "e:/stream/sammi core/Ext/Twitch_Chat_Stats/wordCloud_123456789.png", 
    "uniqueChatters": 10
    }

Discord Post Example

Generate Sample Word Cloud

This button generates a sample word cloud or participation tree image based on the settings from the Settings button.

This command provides a quick way to test word cloud and participation tree customization settings.
Privacy Policy
This developer has disclosed that it will not collect or use your data.

This developer declares that your data is:

  • Not being sold to third parties.
  • Not being used or transferred for purposes that are unrelated to the extension's core functionality
  • Not being used or transferred to determine creditworthiness or for lending purposes

Reviews

Coming soon!