Giter Club home page Giter Club logo

message-book's Introduction

message-book

This is a tool to make a book out of a given iMessage conversation. To use it, you need either an iPhone backup or a Mac that holds all the messages you want included. To use the tool, clone the repo and run:

cargo run -- --help

The code is in pretty rough shape, but it should do the job. Let me know if you run into any issues.

An example of the output can be seen in the example-output directory.

an example page, showing an automated reservation confirmation message on a blank page

an example table of contents for a book containing a whole year of text messages. Each month is listed with its page.

message-book's People

Contributors

bkettle avatar arjunchhabra avatar

Stargazers

 avatar Richard Yang avatar Sara Stoudt avatar Nortel Data avatar lynx1337 avatar Ethan Priest avatar GrantMackey avatar Ross Patterson avatar  avatar George Schizas avatar Alban Talagrand avatar K. Marco BEKOUTARE avatar Rodrigo Tello avatar Lily Healey avatar tejas avatar Pierre Nicolas Durette avatar Riley Thompson avatar matt novelli avatar Marcu avatar Akilesh avatar Bennett Yardley avatar shnae avatar  avatar gaoryrt avatar Roberto Villegas avatar Harvey avatar Josiah Valdez avatar Patrick avatar  avatar Nick avatar Paul Dariye avatar  avatar Paul Clark avatar cjschneider2 avatar Jiang10086 avatar immelon avatar Muhammad Mufid Utomo avatar Ethan avatar Rendell avatar Christopher Sherrod avatar Tuan Anh Tran avatar Lucien Tran avatar Michael Hemingway avatar Corban Johnson avatar Doug Milam avatar Jake Williams avatar Randy Tarampi avatar James Marotta avatar Ruslan Prakapchuk avatar Jan Ferme avatar Julian Geiger avatar Rhian Moraes avatar  avatar  avatar Prabir Shrestha avatar Electron avatar Mattia Bradascio avatar  avatar Joe Burgess avatar Jimmy Smits avatar Mladen Rasic avatar Todor Andonov avatar Drew M avatar Connor Wallace avatar compwron avatar Laust Rud Jacobsen avatar  avatar Ryan Sudhakaran avatar  avatar Xiaobo avatar Zack Schmitz avatar Alpha avatar Ben avatar Asif Mushtaq avatar Kira Muhlbauer avatar Hunter Tunnicliff avatar Phong N. avatar Leira Sánchez avatar Tim Kersey avatar frederick avatar Miguel Lopez avatar Dimitris Fotopoulos avatar Matthew Wild avatar Jannes Meyer avatar Galen O’Hanlon avatar  avatar kelsy gagnebin avatar Raphaël Chalicarne avatar Daniele Spinosa avatar Aditya Kanu avatar Jorge Benjumea avatar  avatar Avery avatar Jiff Slater avatar Farzad Qasim avatar Aryan Arora avatar Mirko avatar Abdul Qabiz avatar Vlad Ionescu avatar  avatar

Watchers

Nima Karimi avatar  avatar  avatar

message-book's Issues

Fails to compile

Not a rust user, but got this:

% cargo --version
cargo 1.76.0
% cargo run -- --help
   Compiling message-book v0.1.0 (/Users/---/github/message-book)
error: this file contains an unclosed delimiter
   --> src/main.rs:184:3
    |
55  | fn iter_messages(db_path: &PathBuf, chat_identifier: &str, output_dir: &PathBuf) -> Result<(), TableError> {
    |                                                                                                            - unclosed delimiter
...
137 |         match msg.gen_text(&db) {
    |                                 - this delimiter might not be properly closed...
...
148 |     }
    |     - ...as it matches this but it has different indentation
...
184 | }
    |   ^

error: could not compile `message-book` (bin "message-book") due to 1 previous error

failed to generate message: MissingData

Dear Ben!

Thanks for this project, it looks great! I just tried to run it on a backup of my iPhone and got the following error message:

➜  message-book git:(main) ✗ cargo run -- -i ./backup XXXXXXXXXX'
    Finished dev [unoptimized + debuginfo] target(s) in 0.13s
     Running `target/debug/message-book -i ./backup XXXXXXXXXX`
Found chat Chat { rowid: 996, chat_identifier: "XXXXXXXXXX", service_name: Some("SMS"), display_name: Some("") }
Found chat Chat { rowid: 997, chat_identifier: "XXXXXXXXXX", service_name: Some("iMessage"), display_name: Some("") }
Starting chapter ch-2015-10
Starting chapter ch-2015-11
Starting chapter ch-2015-12
Starting chapter ch-2016-01
Starting chapter ch-2016-02
thread 'main' panicked at src/main.rs:137:27:
failed to generate message: MissingData
stack backtrace:
   0: rust_begin_unwind
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
   1: core::panicking::panic_fmt
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
   2: core::result::unwrap_failed
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5
   3: core::result::Result<T,E>::expect
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1030:23
   4: message_book::iter_messages
             at ./src/main.rs:137:9
   5: message_book::main
             at ./src/main.rs:179:5
   6: core::ops::function::FnOnce::call_once
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Any idea how to fix it?

Thank you
Best
Alexandre

Generating the PDF

Hi bkettle -

Thanks so much for your blog post and code repository work. I've successfully generated the output folder with tex files. Do I need to install LaTex and xelatex to generate the final PDF?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.