Bagaimana saya bisa mengonversi log .ichat ke file teks?

22

Bagaimana Anda mengonversi file transkrip iChat yang dibuat oleh Pesan ke file teks yang dapat dibaca manusia yang dapat dibuka tanpa aplikasi Pesan?

Untuk referensi, ini adalah file percakapan yang berada di ~/Library/Messages/Archive.

Cukup membuka file .ichat dalam editor teks termasuk banyak string dan hash tambahan. Membuka mereka di Pesan dan menyalin-paste ke karya editor teks, tapi saya lebih suka mengotomatiskan proses jika memungkinkan.

mae
sumber

Jawaban:

12

File yang disimpan oleh Pesan memiliki ichatekstensi file.

Tetapi dari baris perintah Anda dapat memeriksanya untuk melihat mereka sebenarnya file biner plist :

$ file transcript.ichat
transcript.ichat: Apple binary property list

Ternyata, Anda dapat dengan mudah mengkonversi file plist biner menjadi dokumen XML yang dapat dibaca manusia :

$ plutil -convert xml1 transcript.ichat

Sekarang, ketika Anda menjalankan filelagi, Anda dapat melihatnya sebagai file XML:

$ file transcript.ichat
transcript.ichat: XML document text

Silakan — buka dan lihat sendiri:

$ open transcript.ichat
Sean Moubry
sumber
8

Jika Anda terbiasa dengan sqlite, Anda bisa mengekspor pesan langsung dari database di Mountain Lion iMessage.

sqlite3 /Users/(username)/Library/Messages/chat.db

Dari database, Anda dapat mengirim perintah sql untuk mendapatkan pesan apa saja dan semua bidang terkait yang Anda minati. Selanjutnya, Anda dapat mengubah pengaturan output untuk menulis langsung ke file.

Selain itu, di samping basis data, semua foto disimpan di folder Lampiran.

Kane Crisler
sumber
3
Transkrip iChat ( .ichatfile) bukan database SQLite.
Sean Moubry
7

Lihat proyek saya yang akan mengambil semua percakapan Anda dan mengubahnya menjadi satu file teks yang dapat dibaca. Itu tidak akan mengonversi hanya satu iMessage, tetapi itu akan mengumpulkan semua pesan dan lampiran Anda, mencadangkannya, dan menempatkannya ke dalam format yang dapat dibaca manusia.

https://peterkaminski09.github.io/baskup

Peter Kaminski
sumber
2
Apakah itu berfungsi dengan file log iChat?
nohillside
Ini menggunakan file log iChat Anda yang ditemukan di ./Library/Messages/chat.db Anda untuk mengonversi menjadi file teks.
Peter Kaminski
Ini bekerja dengan baik untuk saya, terima kasih! Saya perhatikan itu bisa melewati awal sejarah pesan jika Anda memiliki percakapan yang SANGAT panjang (kecuali jika mereka hilang selamanya jika iMessage tidak menyimpan semua pesan seperti yang saya kira). Namun demikian, masih menyelesaikan pekerjaan!
Billy Bryce
Saya pikir masalah utama yang saya perhatikan adalah ketika Anda membuka macbook Anda setelah mengirim banyak pesan di ponsel Anda, ada penundaan antara iMessage di mac dan ponsel, dan ini menyebabkan pesan terputus.
Peter Kaminski
Ini terlihat sangat berguna, tetapi apakah ada cara untuk menghapus pesan lama setelah diekspor / diarsipkan / apa pun?
Paul R
1

Saya telah membuat alat baris perintah untuk mengonversi file ichat ini menjadi JSON yang dipisahkan dengan baris baru

Alat ini mengekstrak informasi penting yang telanjang: pesan, pengirim, tanggal

Anda dapat melihat kode sumber dan / atau mengunduh biner di https://github.com/kfatehi/ichat2json

keyvan
sumber
0

Jika Anda memilih cetak dari menu file, ketika kotak cetak terbuka di kiri bawah adalah tombol pdf dengan drop down. Dari sini Anda dapat menyimpan sebagai pdf, memposting skrip, mengirim email sebagai pdf atau mengirim ke iTunes.

rclyde
sumber
-1

Ini bukan solusi yang sempurna, tetapi saya perhatikan bahwa pesan-pesannya selalu berada di antara Ä_dan _$. Anda dapat menulis skrip untuk mengekstrak semua teks yang dimulai dan diakhiri dengan karakter tersebut. (bahasa apa pun dengan dukungan rexex akan dilakukan)

daviewales
sumber
-1

Ini sepertinya aplikasi yang ideal dari alur kerja Automator atau AppleScript, karena keduanya dapat melakukan perilaku gaya "tekan tombol pada layar". Anda akan mengatakan "ambil file sebagai input," dan gunakan sesuatu di bawah "cetak" atau "pesan" jika ada, atau gunakan AppleScript untuk memerintahkannya untuk membuka file dan tekan file dan cetak dan simpan sebagai pdf dan kemudian tutup file.

Andrew Wonnacott
sumber
Bisakah Anda memberikan deskripsi jawaban yang lebih baik? Itu sugestif tetapi tidak menunjukkan jawaban khusus untuk pengguna dengan langkah-langkah.
Danijel-James W