My dnf is broken, please help!

First be sure that when you run command:

$ dnf repolist

all the repositories listed say Rock. You must have at least these enabled:

It is OK if you have additional repositories as long as the are named Rock. Like this would be all normal Rock repos:

If upgrading the dnf package manually does get dnf working again go here and follow the instructions to properly upgrade 4.0 to 4.1.