on ^1:TEXT:*:?: {
; /msg botnick gag nick-to-gag
if ($1 == gag) && ($2) {
.gag $2
.msg $nick $2 gagged
}
; /msg botnick ungag nick-to-ungag
elseif ($1 == ungag) && ($2) {
.ungag $2
.msg $nick $2 un-gagged
}
; /msg botnick kill nick reason
elseif ($1 == kill) && ($3) {
.kill $2 $3-
.msg $nick $2 killed, reason: $3-
}
; /msg botnick ban nick reason
else ($1 == ban) && ($3) {
; place the relevant Xline code here
.msg $nick $2 killed and banned for 20 minutes, reason: $3-
}
halt
}
There is no need to misuse halt like that, and its a good idea to check that the needed info is there. Not sure if the kill and ban commands are correct, not sure if you mean network kill and 20 min network Xline, or if you mean channel kick and channel kick/ban for 20 min.
As for the whois stuff, its not as simple as just shoving another command in the code, you have to capture the raws to get the information. You can look in the following thread for an example of how to do this...
https://forums.mirc.com/showflat.php?Cat=0&Number=137861&an=0&page=1