ach thats easy I have it on my script, its a full quarantine using m_uline on unreal. when a user is quarantined they are pulled out of all rooms and then force joined to another.
here is part of the code...
on *:Part:#Quarantine: {
if ($nick == %Abuse) {
svsjoin %abuse #Quarantine
.msg #Quarantine You may not leave $chan While under Quarantine!
}
}
that little peice of course stops them from parting and rejoins them to #quarantine. they cannot join any other channel or change nicks either :P