Ok so there is only 2 reason you should not be able to perform a revenge.
1. The person has a shield
2. The person is online
So with this said what is this "the opponent cannot be attacked at the moment" mean? If they don't have a shield and are not online why can't they be attacked?