Это почти в точности то, как работает плагин «Restricted Replies».
Единственное, что он не обрабатывает, — это пункт (3). Это будет крайне сложно реализовать по всем причинам, перечисленным выше.