#!/usr/bin/perl -w IRC::print "\0035:: Loading bANk1Ck ::\003 \n"; IRC::add_command_handler("bk", "bk_handler"); IRC::add_message_handler("302", "catch_userhost"); #catch the USERHOST sub catch_userhost { my $line = shift(@_); $line =~ /.* :(.*)=[\+\-](.*)@(.*)\.([^\.]+\.[^\.]+)/; $nick_IDENT = $2; $nick_IP = $3; $nick_HOST = $4; IRC::print "\0034:: hallo $nick_HOST ::\003 \n"; return 1; } # bk user sub bk_handler { my $luser = shift(@_); my $chan_name = IRC::get_info(2); # Twice, coz else it be parsed as your own host... which is not what u want IRC::send_raw("USERHOST $luser \r\n"); IRC::command("/mode $chan_name -o $luser"); IRC::print "\0034:: bANN1NG $luser (*!$nick_IDENT\@*.$nick_HOST) fR0M $chan_name ::\003 \n"; IRC::command("/mode $chan_name +b *!$nick_IDENT\@*.$nick_HOST"); IRC::command("/kick $luser $chan_name"); IRC::print "\0034:: bANN1NG $luser fR0M $chan_name ::\003 \n"; IRC::send_raw "PRIVMSG $luser :y0 R bANK1CKeD \r\n"; return 1; }