The command that you have is now right. If you want to do it on just names, you could change it slightly to:
on *:TEXT:!cake *:#fonic_artes: {
if (%flood.cake) { halt }
set -u5 %flood.cake On
describe # pegs $$2 in the face with a chocolate cake.
}
Or you could try this code as well, which is what I have coded into my bot:
on *:TEXT:!cake *:#: {
if (!$var($+(%,delay.cake.,$network,.,#)).value) { | describe # pegs $$2 in the face with a chocolate cake. | set -u5 $+(%,delay.cake.,$network,.,#) 1 } }
The bottom one also has the 5s flood protection.