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?