Check out r1505 if you get the chance, and the new timeban command.
When you timeban someone, the bot will ban the user, and continue to ban them if they find a way back in, until they're either explicitly unbanned by the bot, or the ban duration runs out.