Exporting HelloTalk Messages

Posted 2015-03-13. Updated 2017-09-21.

HelloTalk is a instant messaging application for foreign language learners. It has many useful features, such as inbuilt language translation, and the ability to correct errors in text messages, which become visible to your language partner. One feature HelloTalk lacks is the ability to export message history for revision. I find this necessary because often I fail to note down all the new vocabulary during a conversation. To achieve this I have created two scripts to extract text and voice messages from HelloTalk for Android. These have been tested on Linux and NetBSD.

Text messages

2017-09-21: These instructions no longer work with the current version of HelloTalk. HelloTalk writes all instant messaging events to a daily log file. The file is written to /sdcard/hellotalk/htlog/YYYY-MM-DD.log and can be found by browsing the file system . Old files don't seem to get deleted, so you can review all the way back to day one if necessary! The format of the log file is terribly verbose, so I use a script to extract the relevant information (date, sender and message content) into CSV format. Examples:

./htlog2csv.sh 2015-03-01.log

cat *.log | ./htlog2csv.sh

Audio messages

All incoming and outgoing audio messages are written to /sdcard/hellotalk/voices. These are MPEG-4 AAC-LC files, but are given obscure filenames, like -123456789 or 0_123456789.hta. Again, old messages don't seem to get deleted. The following script invokes the Android Debugger to download the files created on a specified date, and renames them to .mp4. For this to work, the Android device must be connected to the computer via USB cable, and the device must have USB debugging enabled. Example:

./htvoiceget.sh 2015-03-01

It is likely that the HelloTalk application will change in the future, making the above information obsolete. Hopefully export functionality is incorporated into the application. Until then, happy chatting.