# # magic8ball.pl # # GAIM script that delivers "usefull" # answers to questions. # # Usage: # !8ball # my @ball_messages= ( "yes", "definitely", "the answer is yes", "positively sure", "no", "definitely not", "no way", "answer isn't clear", "there's no way to be sure" ); sub description { my($a, $b, $c, $d, $e, $f) = @_; ("Magic 8 Ball", "0.1", "Answers all of your questions", "Include <include\@riotmod.com>", "http://linux.riotmod.com", "/dev/null"); } $handle = GAIM::register("Magic 8 Ball", "0.1", "", ""); GAIM::add_event_handler($handle, "event_im_recv", "shake_the_ball"); sub shake_the_ball { my($eb_connection,$eb_sender,$eb_message,$eb_flags)=@_; my @tokmess=split(" ",$eb_message); if($eb_message=~/!8ball/) { if($#tokmess > 0) { # shake the ball my $sm = $ball_messages[ rand scalar @ball_messages ]; my $eb_message=~s/!8ball//g; my $answer_message="The magic 8 ball says...$ball_messages[$sm]."; GAIM::serv_send_im($eb_connection, $eb_sender, $answer_message, 1); return 1; } else { GAIM::serv_send_im($eb_connection, $eb_sender, "You need to ask a question!", 1); return 1; } } }