You have to divide the whole feature in two different use parts:
-
How can we use that feature?
I would be really love to use this to reduce text messages in chat that are not interesting for everybody e. g. the already mentioned raffle/bankheist/rank messages. Other than that it could also be used to give away data e. g. login data to gameserver etc that should be only available to a certain usergroup. For this to work the user has to accept whispers in general. It could also be used to add features to Twitch that they are still missing e. g. timeout people and give other moderators/broadcaster the ability to see who timed someone out and for how long or communications between moderators and broadcasters without leaving the chat.
But atm you cannot even tell if a user that sends a whisper to your bot is a subscriber because you cannot determine the channel he is sending from. If you have a bot running in a single channel, that is fine as you might get around it by querying the API. If your bot is running in multiple channel you can already stop thinking about using this feature at least for querying your bot. -
How can we prevent the system from being abused?
If a user makes a bad experience with this system, he will activate the “do not allow strangers to send you messages” checkbox and this whole feature will be more or less useless in the long run. That people will follow your bot just to take part of a raffle is rather unusual and not really intended. Again Twitch is not Facebook! There is no benefit in following other people that do not stream. And as a streamer you will have to explain that to your audience - I’m a moderator in a lot of channels and a lot of them are not following me but I’m sure they have no problem when I send them something over the whisper instead of Twitter/Twitch or TS. Generally forbid people to whisper to you because you are not following them already breaks this whole functionality in big parts as you don’t have a fallback or even an error message.
To keep the whispering widely accepted it is important that people can easily filter messages and add/delete people on their “list”. This is not given so far. You have the ignore function which is a pain to use as I already said above. People might try to contact you and you as someone who wants to receive this message do not even have the ability to tell if this user is ignored or not. And the whitelisting with a command? A lot of people are already confused when they have to click a button. Forcing them to type text messages with full names of other people is far away from userfriendly.
Binding the whisper to a channel context would at least give moderators the ability to prevent spamming in their moderated channel for a certain time. It would not restrict the receiving of messages for the user, it would just stop the sending of messages in or to this channel for a certain time - but that is no problem, they can send their message from any other channel. Without this or a similar functionality, streamers will pretty fast deactivate this feature to prevent people spamming their chat and this will kill a lot of potential of this feature.
Again, I love this I want everybody to use it because you can do awesome stuff with it, but it is essential that it is revamped before it becomes as abandoned as the private message system already is.