| Crates.io | slackrs |
| lib.rs | slackrs |
| version | 0.2.0 |
| created_at | 2025-07-26 12:49:41.964131+00 |
| updated_at | 2025-08-22 20:50:33.999349+00 |
| description | Provides a CLI and library functions to analyze Slack message data exports (zipped JSONs with a Slack-specific structure) and plot statistics. |
| homepage | https://github.com/roland-ewald/slackrs |
| repository | https://github.com/roland-ewald/slackrs |
| max_upload_size | |
| id | 1769135 |
| size | 151,589 |
A simple CLI to analyze Slack data exports.
Plot number of messages containing a specific string over time (histogram).
Plot ratio of messages containing either one of two specific strings (line chart).
Export CSV files with the statistics and allow to aggregate over different time scales (daily, monthly, yearly).
Simple customization regarding plot colors.
Bulk downloads of (public) messages are available per workspace, but require admin access.
In the 'Slack app', do the following (alternatively, just go to https://[your-workspace].slack.com/services/export in the browser):
Tools & Settings > Admin Tools.Admin Tools go to Data Exports.Then choose an export range and trigger the export.
The tool processes all messages from the ZIP and then runs a number of tasks, which are defined in JSON:
[
{
"metric": {
"MentionCount": {
"channel_pattern": "",
"message_pattern": "@group"
}
},
"resolution": "Daily",
"output_file_name": "daily-group-mentions-over-time.png"
}
]
./slackrs --input-file="my-slack-export.zip" --task-file=my_tasks.json
Plots look like this right now:

Additionally, all plotted data is also provided as a CSV.
To see all command-line arguments, just run:
./slackrs --help