Just so you know, I would avoid using libpurple. The entire reason that chatty is going away from using libpurple is because it is not very flexible, the documentation is bad/non-existant (putting it nicely), and you end up having to use a bunch of hacks in order to get it to do what you want. I can tell you I spent way too many hours trying (and failing) to get group chats to work with libpurple, and it is because there are a bunch of undocumented things you need to do to get it to work.
Most of what you are proposing would work with Chatty (or chatty already supports). It may be worth looking into the chatty code base and seeing if you can build a backend into there. Possibly look at the chatty-ma-chat code or the chatty-mm-code?
Most of what you are proposing would work with Chatty (or chatty already supports). It may be worth looking into the chatty code base and seeing if you can build a backend into there. Possibly look at the chatty-ma-chat code or the chatty-mm-code?