I was recently looking into various ways of archiving old chats into something more future proof, but it seems like these tools are very limited. They either don’t exist, or only work for specific scenarios like one-on-one chats without attachments.
Today, the situation gets a bit better for one platform, GroupMe. GroupMe is a platform focused on group messaging, and features nice subtle features like likes per message, attachments and so on. They also provide an awesome dev REST API - so it was very easy to pull historical data. The result is hosted on GitHub - scripts to archive any chat on GroupMe, along with its metadata like group and user avatars, mentions, likes and attachments.
The scripts allows you to store all of the data as raw files and structured JSON, and also render everything as a neat HTML for easy viewing. Head over to the repo at https://github.com/fdalvi/groupme-archiver and check the project out!