Alright, I fixed most of it except for a few things.
First, if you mean using a .msg instead of msg | halt I tried that already, but it didn\'t getting through the testing stages...it continued to run through my script and banned them twice, once without the reason and once with it.
Also, you say that some IRCds require a kick reason, even when using the k switch of the /ban, but I don\'t know where the reason would go, as it\'s not mentioned in the syntax...