umaar / chat-analytics

Home Page:https://chatanalytics.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo-Dark Logo-Light

Generate insightful chat analysis reports

Open AppView DemoUse CLI

GitHub Workflow Status codecov npm

Donate


A web app that takes chat exports from supported platforms and generates a single HTML file containing information, statistics and graphs about them.

Chat platform support

You can generate reports from the following platforms:

Platform Formats supported Text content Edits & Replies Attachment Types Reactions Profile picture Mentions
Discord json from DiscordChatExporter ✅ (until link expires) ✅ (as text)
Messenger json from Facebook DYI export ✅ (as text)
Telegram json from Telegram Desktop ❌ (not provided) ✅ (as text)
WhatsApp txt or zip exported from a phone ❌ (not provided) * (if exported from iOS)
🟦 (generic if exported from Android)
❌ (not provided) ✅ (as text)

*: not all languages are supported, check WhatsApp.ts.

You can't combine exports from different platforms.
The contribution of new platform parsers is always welcomed 🙂

Privacy & Analytics

Since all chat data always stays in the browser, there is zero risk of someone reading your chats. Note that the report HTML file contains sensitive information (one may reconstruct message contents for every message), so share your reports with people you trust.

The site does not use cookies either and uses a self-hosted version of Plausible. All events do not contain PII and the information is segmented (e.g. 1MB-10MB, etc). Since I want full transparency, you can check the site analytics here.

CLI

You can generate reports from the command line using npx chat-analytics:

Usage: chat-analytics -p <platform> -i <input files>

Options:
      --help      Show help                                            [boolean]
      --version   Show version number                                  [boolean]
  -p, --platform  The platform to generate for
   [string] [required] [choices: "discord", "messenger", "telegram", "whatsapp"]
  -i, --inputs    The input file(s) to use (glob)             [array] [required]
  -o, --output    The output HTML filename     [string] [default: "report.html"]
      --demo      Mark the report as a demo           [boolean] [default: false]

For example:

npx chat-analytics -p discord -i "exported/*.json" -o report.html

Docs & Development

You can read docs/README.md for technical details, and docs/DEV.md for development instructions.
In docs/TODO.md you can find ideas and pending stuff to be implemented.

Acknowledgements

  • FastText, a library by Facebook for efficient sentence classification. MIT licensed.
  • lid.176.ftz model, provided by FastText developers for language identification. Distributed under CC BY-SA 3.0.
  • multilang-sentiment, for the translated AFINN database. MIT licensed.
  • Emoji sentiment data from the work of Kralj Novak, Petra; Smailović, Jasmina; Sluban, Borut and Mozetič, Igor, 2015, Emoji Sentiment Ranking 1.0, Slovenian language resource repository CLARIN.SI, http://hdl.handle.net/11356/1048. Licensed with CC BY-SA 4.0.
  • stopwords-iso for a collection of stopwords in a variety of languages. MIT licensed.
  • All the libraries and tools that made this project possible 😀

License

AGPLv3. See LICENSE.

About

https://chatanalytics.app

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 90.9%Language:Less 5.8%Language:JavaScript 2.4%Language:HTML 0.7%Language:C++ 0.2%