Bump to a really old thread, but I thought I would add to this in order to augment my original post and to illustrate my reasoning better:
I think a method to get all subscriber's client ids and append them to an array would be nice. One of the things I would like to implement would probably be a way to vote skip, but have it work with subscribers. It would be nice to be able to:
1) Create an empty 'yes vote' array
2) On pm, check text, if text is "!voteskip"
3) Check if their client id is in the subscriber list
4) Append their id to the 'yes vote' array
5) Count the number of subscribers and compare it to the number of 'yes' votes
6) If 'yes' votes are greater than x % of subscribers
7) Skip song
This could also get some implementation with a currency system, for example you can count how long they have been listening to the bot and award currency based on time milestones. I think this might already be possible by checking if they have sent the "!sub" message, setting the time, and stopping the time when client disconnects or sends a "!unsub" message, however I still believe that it would be better for an updater based on if they are actually listening or not, rather than relying on chat commands, for flexibility reasons.
Another thing that I can think of is whispering specific people, as a scriptable extension of the "!sub" command. It would be nice to, for example, whisper everyone in the server for an announcement in TTS, such as with the "!say" command, but without them actually being subscribed.