inveigher
/ɪnˈveɪɡər, ɪnˈviːɡər/Definitions
1. noun
One that inveighs, especially a person who speaks or writes in a vehemently critical or denunciatory manner.
“The social media influencer became an inveigher against the company’s environmental policies.”