#!/usr/bin/perl -w # # KickBan script; should work on all networks # with /userhost replying as numeric 302. # # /kb IRC::add_message_handler("302", "userhost_handler"); IRC::add_command_handler("kb", "kb_handler"); IRC::print("\00314.:: loading kickban script ::. \003\n"); sub kb_handler { my $newline = shift(@_); $newline =~ /(\S*)\s(.*)/; $user = $1; $user = lc $user; $reason = $2; IRC::command("/userhost $user"); return 1; } sub userhost_handler { my $line = shift(@_); $line =~ /.*:(.*)=.*(@.*)/; $nick = $1; $add = $2; $ban = "*!*$add"; $nick = lc $nick; $channel = IRC::get_info(2); if ($user) { if ($nick eq $user) { IRC::command("/mode $channel +b $ban\n"); IRC::command("/kick $user $reason\n"); undef $user; return 1; } return 0; } return 0; }