For a start, you have often confused the $nick and $2 items. Instead of banning $2 onban, it instead bans the nick that requested it, even if that nick is owner. Thus: on 1000:text:
ban::{
if ($2 = $null) {
ban # $nick 2
}
else { ban # $nick 2 }
}
Should be:
ban # $2 2
}
AND I don\'t know what the extra \'else\' condition is here if its the same as the previous condition? or it reads that if ($2 != $null) then kick any way which makes you wonder why $null line was included. The same idea of mixing $2 and $nick in the kick command. If I wanted to get kicked from a chan I don\'t need my own bot to do it for me :P Where you have, for example, ...text:
ban:: ... you might as well make it ban*:#: because a msg to the bot won\'t execute a command until the channel is specified. Using # executes on a command in the channel. So even using
ban*:?: will not work until there has been a channel specified. If you want the commands on kick and ban to be executed through message and not in the channel then you need to place into the snippet a way for the bot to define the channel in which to execute the command. It might mean that the msg to the bot includes for example. I realise you\'re still working on it, but frankly, a 9 for this piece of code is a little on the steep side of scoring with some fundamental errors.