sermonneur
to give a long talk to people, telling them how they should behave in order to be better people: