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.
Setup
- Update both SAMMI Core and Bridge to the latest version via SAMMI Updater.
- Install the extension. You can follow the Extension Install Guide.
- Ensure your Bridge is running at all times while using the extension.
This extension only works with Bridge running in OBS dock. If you are running Bridge in a browser other than OBS dock, you must keep the Bridge tab active at all times in order to use the extension.
- 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) |


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 |


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
}
Generate Sample Word Cloud
This button generates a sample word cloud or participation tree image based on the settings from the Settings button.
Privacy Policy
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!