nip17 DMs are pretty interesting. They can also be group chats. I had to do some testing for the wss://auth.nostr1.com relay and so i wrote a golang module for nip17.
https://github.com/jeremyd/crusher17
I have another utility that uses this to pipe these messages around to and from AUTH relays with linux pipes and nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9us2xuyp's nak command line utility. Ill release that one too..
looking forward to digging in to this :)