If anyone wants to try investigating, you need to connect to freenode, and then try connecting to a channel that requires registration, such as #mame-dev .
Ok I see now what your problem is. That's not a server notice. It's a message with raw numeric 477.
-> rajaniemi.freenode.net JOIN #mame-dev
<- :rajaniemi.freenode.net 477 ruprecht #mame-dev :Cannot join channel (+r) - you need to be identified with services
Use this instead:
raw 477:*you need to be identified with services*:{
ns identify xxxxxx
}