SAMMI Extensions
Chat Stats
This extension allows you to gather, analyze, and visualize Twitch VOD chat data. It’s easy to install, highly customizable, and requires no prior setup!
Features
- Retrieve chat transcripts from recent or specific Twitch VODs.
- Gather statistics like total message count, unique participants, frequently used words, and most active users.
- Generate a word cloud based on chat messages.
- Create a participation tree of top chatters.
- Generate a chat summary using ChatGPT.
- Automatically post collected data to Discord.
- High level of customization for visuals and output.
Unofficial Twitch API
This extension uses an unofficial Twitch API endpoint. Changes in the API may cause the extension to stop working or require updates. It does not use your Twitch credentials.
Setup
- Update SAMMI Core and Bridge to the latest version via SAMMI Updater.
- Install the extension. You can follow the Extension Install Guide.
- Ensure Bridge is running at all times when using the extension.
OBS Dock Requirement
This extension only works with Bridge running in the OBS dock. If running in a browser, you must keep the Bridge tab active at all times.
- Open the red Settings button and fill out the commands for Twitch Chat Stats Init, Word Cloud Settings, and Participation Tree Settings.
Twitch Chat Stats Init
Box Name | Description |
---|---|
Twitch Channel Name | Your Twitch (streaming) channel name. |
Twitch Bot Name | Name of your Twitch Bot for message filtering purposes. |
Primary Stream Language | Select the main chat language (English stop words are automatic). |
Generate Word Cloud | Enable this to generate a word cloud image. |
Generate Participation Tree | Enable this to create a participation tree image. |
Generate Summary | Enable chat summary generation (ChatGPT extension required). |
Twitch Chat Stats Word Cloud Settings (Optional)
Customize your word cloud's appearance. Defaults will apply if left blank.
Box Name | Description |
---|---|
Width | Image width (default: 600). |
Height | Image height (default: 600). |
Background Color | Word cloud background color (default: transparent). |
Font Family | Font family for the text (default: serif). |
Font Scale | Size of the largest font (default: 25). |
Max Words | Maximum number of words displayed (default: 100). |
Colors | Array of word colors in hex format (defaults to random colors if 'Random' box is checked or this box is empty). |
Twitch Chat Stats Participation Tree Settings (Optional)
Customize the appearance of the participation tree. Defaults will apply if left blank.
Box Name | Description |
---|---|
Max Viewers | Maximum viewers to display in the tree. |
Display Labels As | Display labels as username text or profile image with username. |
Background Color | Background color (or varied with 'Random' setting). |
Font | Font for tree labels. |
Text Color | Color of the text in the tree labels. |
Spacing | Spacing in pixels for the rectangles. |
Border Width | Border width in pixels for the rectangles. |
Border Color | Color of the borders around the rectangles. |
Get Chat Stats from Last Stream or Specific VOD
Retrieve analytics from your latest stream or a specific Twitch VOD.
The example premade button comes with an optional automatic post to Discord.
Ensure Proper Settings
Ensure the Settings button is properly configured before running this command.
Box Name | Description |
---|---|
Twitch VOD ID | Twitch video ID to extract chat data from (leave blank for latest VOD). |
Save Variable As | Variable name to save the result object. |
The Save Variable As object will have the following keys:
Key | Description |
---|---|
totalMessages | Total number of chat messages sent. |
topWords | Array of most frequently used chat words (up to 100). Although stop words are eliminated, some may still appear. |
wordCloud | Full path to the word cloud image file. |
uniqueChatters | Number of distinct chat participants. |
topChatters | Array of top chatters (up to 100). |
participationPercentage | Object listing chatters by percentage contribution. |
participationTree | Full path to the participation tree image file. |
summary | Chat summary generated in the primary stream language. |
vodLink | Full link to the Twitch VOD. |
Example result object:
{
"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 command quickly generates a sample word cloud or participation tree based on the current settings.
Customization Test
Use this to test your customization settings for the word cloud or participation tree.
Get Help
Please see Troubleshooting for common extensions issues.