BryceStevenWilley / visioning_texts

A D3 project that locally visualizes your messages from Signal or Whatsapp
GNU General Public License v3.0
37 stars 6 forks source link

Instructions for iMessage / Generic format #1

Open adamlaz opened 4 years ago

adamlaz commented 4 years ago

super cool tool! Can you help me understand format/sytax of an export file that can be ingested? Would love to run some of my iMessage conversations through this.

jparklev commented 4 years ago

+1

BryceStevenWilley commented 4 years ago

iMessage is a great idea, I can take a look at how you can get your data from the app. Unfortunately, I don't have an iPhone, so I won't be able to easily test how well it works. :/

jparklev commented 4 years ago

sweet, I know iMessages are natively stored in a SQL database chat.db file. I'd imagine there's a bit of sql you could to run on it to generate a csv that looks the same as what whatsapp gives you. I've played around with it before and can give it a quick go if you don't mind?

BryceStevenWilley commented 4 years ago

I've played around with it before and can give it a quick go if you don't mind?

That'd be awesome! The parsing code for Signal is here, and for WhatsApp is here, the webpage just needs something in that same format. Also, feel free to ask me any questions about code structure, it's a bit messy.

ben9583 commented 4 years ago

If you have a Macbook, there is a file ~/Library/Messages/chat.db that has the entire chat history stored on the computer of all conversations, but mine is over 150 MB and looks like it would be difficult to parse. Likewise, there is an Archives folder with all recorded conversations, but it is sorted by date, not recipient, and is fragmented.

You can also export conversations as a PDF, but they are essentially screenshots of the conversations and also only save what has been loaded on the app, so you would have to scroll to the top of the conversation to save the entire thing.

I would guess working with chat.db is the best way (it can be opened as SQLite), but it's far from ideal. I think it could be done if someone were ambitious enough to tackle it. Again, this is only for Mac Messages, though.

BryceStevenWilley commented 4 years ago

@ben9583 so since everything is local, it shouldn't take a crazy long time to open a 150 MB file in the browser, and then filtering for conversation participants would be a breeze. I agree that that's the best option. Thanks for the analysis

adamlaz commented 4 years ago

Here's some inspiration - https://github.com/dsouzarc/iMessageAnalyzer

I'll take a look at this thread later after work - definitely seems like it's pretty straightforward to get iMessage parsed.

danrhjones commented 4 years ago

Theres also this repo for extracting imessages

https://github.com/aaronpk/iMessage-Export