Why did you use echo?
echo -t @kicks [kick tracker] $nick kicked $knick from $chan on $date at $time
echo -t @bans [ban logger] $nick set the following ban $1- against user $bnick on $time $date in $chan
You should use aline, as well as use $& to simplify the code:
aline @kicks [kick tracker] $nick kicked $knick $&
from $chan on $date at $time
aline @bans [ban logger] $nick set the following $&
ban $1- against user $bnick on $time $date in $chan
That way, it actually takes less CPU.
One little suggestion:
on *:JOIN:#: {
set %.ch $chan
CTCP $nick VERSION
}
on 1:CTCPREPLY:VERSION*:/onotice #channelname $nick is using IRC client: $1-
/onotice requires op status on the channel.
Also, you're using #channelname, which is telling the script to notice the channel #channelname.
Try your variable %.ch instead.
Easy fix:
on @*:JOIN:#: {
set %.ch $chan
CTCP $nick VERSION
}
on 1:CTCPREPLY:VERSION*:/onotice %.ch $nick is using IRC client: $1-
The @ sign in front of the event denotes OP status.