View ¡m../sdba/././sdbayim.pl¡n
#!/usr/bin/perl -w ######################################### # # # SDBA Revolution YIM BOT # # # ######################################### package main; my $imnet = ''; require "config.im"; $dmp= ""; $dmp = $screenname.$password.$admin.$imnet; #Use the module File-Basename so that the script can be called from anywhere. use File::Basename; chdir(dirname($0)); #Seed the random number generator. srand time; #Put the admin's screenname in a text file so we can get it easily later. open (DATA, ">admin.txt"); print DATA "$admin"; close(DATA); #Print two blank lines to the DOS window. print "\n\n"; #Check to make sure the required directories exist. if (-e "commands" ne 1 || -e "bin" ne 1 || -e "logs" ne 1) { print "You seem to be missing the required directories: " . "handlers, commands, logs, and extras. " . "They should have come in the zip you downloaded"; exit; } #Use protocol declared in config.im. require "bin/protocols/YIM.pl" or die "Looks like you should choose another protocol in config.im"; #Gain usage of all the files in the Handlers, Commands, and Extras folders. @dirs = ("commands","bin"); foreach $dir (@dirs) { opendir(DIR, "./$dir"); foreach $file (sort(grep(!/^\./, readdir(DIR)))) { if (!(-d "$dir/$file")){ #print "Including $file.."; require "$dir/$file"; #print " OK!\n"; } } closedir(DIR); } #Try to connect to the AIM server. #imconnect($screenname, $password); #Create a new YIM module instance. my $client = Net::YahooMessenger->new( id=> $screenname, password=> $password, pre_login_url=> 'http://msg.edit.yahoo.com/config/', hostname => 'scs.yahoo.com'); $client->set_event_handler(new ToEventHandler); print "logging in ....\n"; $client->login or die "Can't login Yahoo!Messenger"; print "logged in ....\n"; #sleep 5; SEND_IM ('dirk_da_man','Hi!');sleep 5; print "\nSDBA Revolution IM Application Server loaded successfully!\n\n"; $client->start; #Start an infinite sequence of 'do_one_loop's and print the confirmation message. package ToEventHandler; use base 'Net::YahooMessenger::EventHandler'; sub ChangeState {} sub GoesOffline {} sub GoesOnline {} sub UnImplementEvent {} sub ReceiveMessage { my $self = shift; my $event = shift; $victim = $event->from; $friend = $event->to; $msg = $event->body; #$client->send("$victim", "$msg"); main::yon_im ($victim, $friend, $msg, $client); } imcont();