You'll just need to set a timer that checks everyone's idle times periodically, say, every 30 or 60 minutes, and then de-voice everyone in batches whose idle time exceeds the prerequisite, say, >2 hours of idle. You can choose to send messages to people after you devoice or before you devoice them using the same alias that's triggered by the periodic timer.

If you want me to write this for you, we can negotiate terms of pricing and feature creep.


Well. At least I won lunch.
Good philosophy, see good in bad, I like!