Chatistics
GitHubReddit (r/MachineLearning)Hacker News

๐ฌ Python scripts to parse Messenger, Hangouts, WhatsApp and Telegram chat logs into DataFrames.
Chatistics can print the chat logs as raw text. It can also create histograms, showing how many messages each interlocutor sent, or generate word clouds based on word density and a base image.


Support Matrix
| Platform | Direct Chat | Group Chat |
|---|---|---|
| Facebook Messenger | โ | โ |
| Google Hangouts | โ | โ |
| Telegram | โ | โ |
| โ | โ |
Exported data
Data exported for each message regardless of the platform:
| Column | Content |
|---|---|
| timestamp | UNIX timestamp (in seconds) |
| conversationId | A conversation ID, unique by platform |
| conversationWithName | Name of the other people in a direct conversation, or name of the group conversation |
| senderName | Name of the sender |
| outgoing | Boolean value whether the message is outgoing/coming from owner |
| text | Text of the message |
| language | Language of the conversation as inferred by langdetect |
| platform | Platform (see support matrix above) |
Changelog
10 Jan 2020: UPDATED ALL THE THINGS! Thanks to mar-muel and manueth, pretty much everything has been updated and improved, and WhatsApp is now supported!
21 Oct 2018: Updated Facebook Messenger and Google Hangouts parsers to make them work with the new exported file formats.
9 Feb 2018: Telegram support added thanks to bmwant.
24 Oct 2016: Initial release supporting Facebook Messenger and Google Hangouts.
Projects using Chatistics
Meet your Artificial Self: Generate text that sounds like you workshop
Credits
- Main contributors: @MasterScrat, @mar-muel, @manueth, @bmwant
- Word cloud generated using https://github.com/amueller/word_cloud
- Stopwords from https://github.com/6/stopwords-json
- Code under MIT license