use Tk; use Net::OSCAR qw(:standard); use threads; my $aimbot = Net::OSCAR->new(capabilities => [qw(extended_status typing_status)]); ###############TK SETUP############################# my $main = MainWindow->new( -title => 'AimTk', -background => 'black' ); $main -> bind('', sub { exit }); $main->Button(-text => "Connect", -command => \&connect)->pack; $main->Button(-text => "Send", -command => \&sendMessage)->pack; $txt = $main -> Entry(-width=>40, -textvariable=>\$outGoing) -> pack(); ############################################# MainLoop; ############SUBROUTINES################### sub on_im { my ($aim, $sender, $message, $away) = @_; $aimbot->send_im($sender, "Hiya."); print "They Said: $message.\n"; } sub done { $aimbot->send_im("NameToSendTo", "Check, check."); } sub sendMessage { print "$outGoing\n"; $aimbot->send_im("NameToSendTo", "Words go here."); } sub connect { $aimbot->set_callback_im_in(\&on_im); $aimbot ->set_callback_signon_done(\&done); $aimbot->signon("myUserName", "myPassword"); my $listenThread = threads->new(\&listening); $listenThread->detach; } sub listening { while(1) { $aimbot->do_one_loop(); } }